検索結果 203 件

by hira
2013年1月14日(月) 01:33
フォーラム: プログラミング質問板
トピック: TreeViewのノードをD&Dで動かしたい など
返信数: 3
閲覧数: 9690

Re: TreeViewのノードをD&Dで動かしたい など

こんにちは、とりあえず上半分。 他からのドロップを受け入れるだけなら、APIの DragAcceptFiles を呼び出せばいける…かもしれません。 (数年間APIから離れているので自信無いです) 但し画像そのもの(≠画像ファイル)をドロップしたいとかだとOLEドラッグ&ドロップを実装しないといけないので、かなり難易度が上がってしまいます。 TreeViewからドラッグを仕掛けるとき(アイテムを動かすとき)は、ウィンドウメッセージを処理してうんぬんかんぬん…ですね。 http://www.interq.or.jp/chubu/r6/masm32/tute/tute019_Jp.html ↑の中...
by hira
2013年1月14日(月) 01:21
フォーラム: プログラミング質問板
トピック: 写真の撮影日について
返信数: 3
閲覧数: 8711

Re: 写真の撮影日について

こんなのもあるので試してみてもいいかもしれません。
http://libexif.sourceforge.net/
C言語でコンパイルしてDLLにできれば、ABから呼べます。

もっとも、Windowsでビルドするところが最大の難関という予感(汗
by hira
2013年1月14日(月) 01:18
フォーラム: プログラミング質問板
トピック: GDI+で色々な形式の画像を表示
返信数: 3
閲覧数: 9414

Re: GDI+で色々な形式の画像を表示

ここのフォーラムも超久しぶりです。

GDI+のファイル名指定はUnicodeでやらないとだめなようです。
MultiByteToWideChar(CP_ACP, ...) で Shift-JIS → Unicode の変換ができます。
by hira
2008年4月23日(水) 22:05
フォーラム: プログラミング質問板
トピック: チェックボックスのキーボード操作
返信数: 2
閲覧数: 3311

チェックボックスをサブクラス化し、WM_KEYDOWNなどでEnterキーが押されたことを拾い、
そこでBM_GETCHECKやBM_SETCHECKを使ってチェック状態を反転させればよいでしょう。
サブクラス化に関しては検索してみてください。(ここの検索とか、Googleとか…)
by hira
2008年3月12日(水) 23:28
フォーラム: プログラミング質問板
トピック: ファイルの暗号化
返信数: 16
閲覧数: 10986

「"Crypt" の初期化」とは、第264章に書いてある内容のことを仰っているのでしょうか? ということは、他に考えられる点は 1) API関数の宣言 よく見ると *HCTYPTKEYの*が抜けていた箇所がいくつかあったので修正。 Declare Function CryptAcquireContext Lib "advapi32" Alias "CryptAcquireContextA" (phProv As *HCRYPTPROV, pszContainer As BytePtr, pszProvider As BytePtr, ...
by hira
2008年3月09日(日) 23:35
フォーラム: プログラミング質問板
トピック: ファイルの暗号化
返信数: 16
閲覧数: 10986

Re: ファイルの暗号化

WriteFile(hAfter, VarPtr(dwByte), Len( dwByte ) , VarPtr(dwResult), ByVal NULL) ReadFile(hOrg, pbBuf, Len( pbBuf ) , VarPtr(dwByte), ByVal NULL) といった感じでしょうか。 後は細かいですが、C言語で指定する配列の要素数と、ActiveBasicで指定する配列の要素数は意味合いが違います。 C言語で int a[10]; と書くと添え字は0~9で要素は10個ですが、これをActiveBasicに移植するときに Dim a[10] As Long と書くと...
by hira
2008年3月09日(日) 22:52
フォーラム: プログラミング質問板
トピック: ファイルの暗号化
返信数: 16
閲覧数: 10986

Re: ファイルの暗号化

C言語とは違い、SizeOf関数の引数にできるのは、データ型のみです(例えば SizeOf(Long) のように使います)。
変数のサイズを取得する場合はLen関数を使います。
すなわち
If dwByte < SizeOf(pbBuf) Then

If dwByte < Len(pbBuf) Then
となります(SizeOf(pbBuf) の記述がもう1箇所ありますが、そちらも同様です)。
by hira
2007年12月18日(火) 14:50
フォーラム: バグ報告
トピック: ActiveBasic 4.24 デバッグ中の不具合
返信数: 1
閲覧数: 15375

追加

不具合の原因らしきものを発見しました。 Type A p As *B End Type Type B p As *A End Type Dim ptr As *A,udt As B Debug ptr=malloc(SizeOf(A)) ptr->p=VarPtr(udt) udt.p=ptr free(ptr) Debug 上の例では、ptr->pにBのポインタが、udt.pにAのポインタが入っていますが、このようにするとデバッガは変数の内容を一覧する際に無限ループに陥ってしまい、それで強制終了するものと思われます。 こんなコードって書いてはいけないんですかね…?(^^;;
by hira
2007年12月18日(火) 00:32
フォーラム: バグ報告
トピック: ActiveBasic 4.24 デバッグ中の不具合
返信数: 1
閲覧数: 15375

ActiveBasic 4.24 デバッグ中の不具合

ノーマルウィンドウベースのプロジェクトにおいて、 ' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。 の位置に次のようなコードを入力します。 Type IDispatchVtbl 'IUnknown QueryInterface As VoidPtr AddRef As VoidPtr Release As VoidPtr 'IDispatch GetTypeInfoCount As VoidPtr GetTypeInfo As VoidPtr GetIDsOfNames As VoidPtr Invoke As VoidPtr End Type Type IDisp...
by hira
2007年5月17日(木) 21:37
フォーラム: プログラミング質問板
トピック: HTMLの読み込みについて
返信数: 6
閲覧数: 3617

http://www.2chab.net/pukiwiki/index.php ... 5%A6%A5%B6
これがそのサンプルでしょうか?IEコンポーネントが使われているようです。
by hira
2007年5月07日(月) 23:17
フォーラム: プログラミング質問板
トピック: サンプルプロブラム
返信数: 2
閲覧数: 3791

今気づきましたが…
ウェブリング・ジャパンがサービス終了になったんですね(^^;;
※4月末で終了したとのこと。http://www.webring.ne.jp/

本題とかけ離れた話題ですみません。
by hira
2007年3月18日(日) 21:55
フォーラム: プログラミング質問板
トピック: プリンタ名の取得
返信数: 3
閲覧数: 3044

簡単な例を挙げると #prompt Declare Function GetProfileString Lib "kernel32" Alias "GetProfileStringA" (lpAppName As *Byte, lpKeyName As *Byte, lpDefault As *Byte, lpReturnedString As *Byte, nSize As DWord) As DWord Dim nBufferSize As DWord,nReadSize As DWord Dim nCount As DWord Dim pPrint...
by hira
2006年12月26日(火) 21:28
フォーラム: プログラミング質問板
トピック: MessageBoxを自動で閉じるには...
返信数: 7
閲覧数: 15011

自己レスです。対応に成功しましたので報告させていただきます。 ExMsgBox.dll Ver 1.01として「AB作品の部屋」にアップしました。 メッセージボックス内にあるコマンドボタンのどれか1つをクリックしたことにすることで、強制的にメッセージボックスを消すようにしています。もちろんタイムアウトの場合の戻り値はちゃんと別にしていますが。 参考までにDLLなしで使う場合のMsgBox_Extraのソースです。(ほとんどそのままですが…) Const MEX_MOVE=1 Const MEX_TIMER=2 Const IDTIMEOUT=-1 Dim fTimeOut As DWord D...
by hira
2006年12月25日(月) 14:44
フォーラム: プログラミング質問板
トピック: MessageBoxを自動で閉じるには...
返信数: 7
閲覧数: 15011

こんにちは。hiraです。 自動消滅なのですが、現在、PostQuitMessage関数を使用してウィンドウを閉じています。 OKボタンオンリー以外のボタンの組み合わせの場合、OK(キャンセル)ボタンがあるときは×ボタンがあるのでうまくいきます。しかし、「はい」「いいえ」の選択の場合などは、×ボタンが使えないので(環境によると思いますが)、現状のPostQuitMessage関数でのウィンドウ消滅ができなくなってしまっています。 試行錯誤しているのですが、なかなかうまくいきません…。 私もいろいろ試してみますが、良い方法があればお願いします。 ※MessageBoxを呼び出すとそのスレッドが停...
by hira
2006年11月04日(土) 08:51
フォーラム: プログラミング質問板
トピック: クリックされてもアクティブにならないウインドウ
返信数: 2
閲覧数: 2969

Re: クリックされてもアクティブにならないウインドウ

単純にアクティブにしないだけなら、EnableWindow関数でウィンドウを無効にしてしまえばよいかと思います。
MessageBox関数の前に
EnableWindow([モードレスウィンドウのハンドル],FALSE)
MessageBox関数の後に
EnableWindow([モードレスウィンドウのハンドル],TRUE)

※意図する動作にならないかもしれませんが…