teacup. [ 掲示板 ] [ 掲示板作成 ] [ 有料掲示板 ] [ ブログ ]

 投稿者
  題名
  内容 入力補助 youtubeの<IFRAME>タグが利用可能です。(詳細)
    
 URL
[ ケータイで使う ] [ BBSティッカー ] [ 書込み通知 ]

スレッド一覧

他のスレッドを探す  スレッド作成


Re:WA_MACRO 1.04 に付いて

 投稿者:ぶひ~  投稿日:2006年 8月17日(木)19時56分52秒
  使ったことないけど、これ↓じゃないですか?

http://hp.vector.co.jp/authors/VA034288/26/WA_MACRO/index.html
 
 

Re:解決しました。

 投稿者:ぶひ~  投稿日:2006年 8月17日(木)19時54分48秒
  >1.目標のウインドウを補足 2.ハンドルを得る 3.EnableWindowの実行
>
>ということで、WinAPIを調べてみると、3については見付かり次のソースで動きそうです。
>1と2は、どの命令を使えばよいのでしょうか。それと、クリップボード関係の命令を
>教えて頂けないでしょうか。
>
>prm.0=tt
>prm.1=1
>dllproc "EnableWindow",prm,2,D_USER

↑無効状態にするなら prm.1=1 じゃなく prm.1=0 ですね

ハンドルを取得したいウインドゥと言うのは具体的にはどの様なウインドゥですか?
自アプリなのか他アプリなのか、また親ウインドゥなのか子ウインドゥなのか
他アプリの場合には分かっているウインドゥの特徴などが判らないと答えようがないです...(^^;

自アプリのウインドゥハンドルならBMSCR構造体内の hwnd メンバの値、
オブジェクトウインドゥハンドルなら hCld メンバの値から取得できます。

クリップボードも何を貼り付けるのかが判らないので明確には
答えられないけど基本的には以下の様な流れになります。

"OpenClipboard"関数でクリップボードをオープンする
  ↓
"EmptyClipboard"関数でクリップボードを空にする
  ↓
"SetClipboardData"関数でクリップボードにデータをセットする
  ↓
"CloseClipboard"関数でクリップボードを閉じる

貼り付けるデータにもよりますが、基本的にクリップボードには
グローバルメモリを渡さなければならないので以下のような関数も使用する事になると思います。

"GlobalAlloc"関数
"GlobalLock"関数
"GlobalUnlock"関数
 

WA_MACRO 1.04 に付いて

 投稿者:puw2メール  投稿日:2006年 8月17日(木)19時32分33秒
  お世話になります。
下記をダウンロードしたのですが WA_MACRO 1.04 が見つかりません
どこにありますか?
    ;===========================================================================
    ; hsgetmsg.dll サンプルスクリプト                ( 2004/09/24 最終更新 )
    ;
    ; WM_COPYDATA メッセージによるプロセス間データ転送のサンプル (送信側)
    ;
    ;    実行させるには hsgetmsg.dll 1.4 および WA_MACRO 1.04 が必要です。
    ;===========================================================================
 

解決しました。

 投稿者:ここ  投稿日:2006年 8月17日(木)01時33分57秒
  ぷひーさん、ご教示、有難う御座いました。
HSP2.61を使用しています。

ところで、更にもうちょっとヒントください。ウインドウを無効状態にするには、

1.目標のウインドウを補足 2.ハンドルを得る 3.EnableWindowの実行

ということで、WinAPIを調べてみると、3については見付かり次のソースで動きそうです。
1と2は、どの命令を使えばよいのでしょうか。それと、クリップボード関係の命令を
教えて頂けないでしょうか。

prm.0=tt
prm.1=1
dllproc "EnableWindow",prm,2,D_USER

以上、すいませんがお願いします。m(-_-)m
 

Re:GDI32.DLLが見付からないようです。

 投稿者:ぶひ~  投稿日:2006年 8月15日(火)18時55分17秒
  ありゃ?HSP3だと思って書いちゃったけど、もしかしてHSP2ですか?
HSP2の場合はこっち↓で試して...(^^;?

#include "llmod.as"

#define LOGPIXELSY 0x005A
#define PTS_PER_INCH 72;      // Number points (font size) per inch

p2 = 8; // ← 変換元ポイントサイズ

mref bmscr, 67 : prm = bmscr.4, LOGPIXELSY
dllproc "GetDeviceCaps", prm, 2, D_GDI : dpi = stat
prm = p2, dpi, PTS_PER_INCH
dllproc "MulDiv", prm, 3, D_KERNEL : p2 = -stat

mes "lfHeight = "+ p2; // ← 変換後フォント高さサイズ

stop
 

GDI32.DLLが見付からないようです。

 投稿者:ここ  投稿日:2006年 8月15日(火)14時40分51秒
  こんにちは。

ご教示有難う御座います。しかし、実行時にGDI32.DLLでエラーとなってしまいます。
実行環境は、WindowsXPなのですが、標準で付属しているDLLなのでしょうか。
 

Re:解決しました。

 投稿者:ぶひ~  投稿日:2006年 8月10日(木)19時14分0秒
  >配列から得るように作成しましたが、スマートに計算できないものなんでしょうか。

ポイントサイズをフォントサイズに変換したいってことだよね?

#uselib "GDI32.DLL"
#func GetDeviceCaps "GetDeviceCaps" int, int

#uselib "KERNEL32.DLL"
#func MulDiv "MulDiv" int ,int ,int

#define LOGPIXELSY 0x005A
#define PTS_PER_INCH 72;      // Number points (font size) per inch

p2 = 8; // ← 変換元ポイントサイズ

GetDeviceCaps hdc, LOGPIXELSY : dpi = stat
MulDiv p2, dpi, PTS_PER_INCH : p2 = -stat

mes "lfHeight = "+ p2; // ← 変換後フォント高さサイズ
 

解決しました。

 投稿者:ここ  投稿日:2006年 8月10日(木)00時01分27秒
  こんにちは。フォントダイアログで質問したものです。

なんとか自己解決できました。フォント名については、納得しているのですが、
フォントサイズについては、今ひとつで、下記のソースのようにしてなんとか
動いてはいます。8ptから20ptまでで使用すると仮定して、その間の設定値を
配列から得るように作成しましたが、スマートに計算できないものなんでしょうか。

dim x25,12:x25=-11,-12,-13,-14,-16,-17,-18,-20,-21,-22,-24,-25,-26
if p2<7:p2=8
if p2>20:p2=20
p2=p2-8
poke lpObject,0,x25.p2 ;サイズの設定
poke lpObject,4,0
;
memcpy lpObject,p1,32,28,0 ;フォント名の設定
 

?v?X?

 投稿者:I.S  投稿日:2006年 8月 6日(日)18時40分42秒
  ????Q?b?g??(?L?E??E?M)  

フォントダイアログについて

 投稿者:ここ  投稿日:2006年 8月 2日(水)01時13分37秒
  こんにちは。
いつも、参考にさせて頂いています。フォントダイアログについても、うまく表示
できるようになったのですが、最初に表示されるフォントやサイズなどは、どのように
設定すれば良いのでしょうか。

以上、ご教示お願い致します。
 

レンタル掲示板
/31