1

1) ico イメージを IUPbutton にロードしようとしましたが、成功しませんでした。
IM dll をリンクして適切なヘッダーを追加した後、これが私のアプローチです。

Ihandle *btn1, *btn2;
Ihandle* img1;

btn1 = IupButton("", NULL);
IupSetAttribute(btn1, "MINSIZE", "24x24");
btn2 = IupButton("", NULL);
IupSetAttribute(btn2, "MINSIZE", "24x24");

img1 = IupImage(16, 16, IupLoadImage("icons\\home_16x16.ico"));
IupSetAttribute(btn1, "IMAGE", "img1");

frame = IupHbox(btn1, btn2, NULL);
dlg = IupDialog(IupHbox(mat, IupVbox(frame, tree, NULL), NULL));

IUP はエラーを報告しませんが、画像はボタン btn1 に表示されません。
RGBAモードでファイルからボタンに画像をロードする方法は?

2) IupTree に sqlite データベースからのデータを次の順序で入力します:「名前」(ルート)、次に 1 ~ 10 個の葉を持つ約 170 のブランチ。VALUE は 0 に設定され、'Name' が選択されています。
「名前」をダブルクリックしたときのように、ツリーを最初のブランチに展開するコードを取得するにはどうすればよいですか?
EXPANDALL 属性を試してみましたが、すべてのリーフが展開されて、望ましくないものになりました。

3) ENTER キーを押したときに、k_any コールバック fe で IUPtree アイテム 'id' を取得するにはどうすればよいですか?

4) executeleaf および branchopen コールバックで「id」から IUPtree アイテム テキストを取得するにはどうすればよいですか?

5) IUPtree をループして ID、テキスト、アイテムの種類 (枝/葉) を取得するにはどうすればよいですか?

6) K_ANY で keyPRESS を取得するように、IUPmatrix で keyUP または keyRELEASED イベントをキャッチする方法はありますか?

4

1 に答える 1

2

1) 各関数のデータ型にもっと注意を払う。IupLoadImage は既に Ihandle を返していることに注意してください。したがって、代わりに:

img1 = IupImage(16, 16, IupLoadImage("icons\\home_16x16.ico"));

これを行う必要があります:

img1 = IupLoadImage("icons\\home_16x16.ico");

また、これを行う場合:

IupSetAttribute(btn1, "IMAGE", "img1");

文字列を指定している場合、何らかの方法で文字列「img1」を Ihandle img1 に関連付ける必要があります。それらは2つの非常に異なるものです。IupImage のドキュメントを確認してください。または、次のようにします。

IupSetHandle("img1", img1);
IupSetAttribute(btn1, "IMAGE", "img1");

またはより良い方法:

IupSetAttributeHandle(btn1, "IMAGE", img1);

2) 拡張したいブランチだけを拡張しようとしましたか? IupTree ドキュメントの STATEid 属性を確認してください。

3)あなたが望むのは、フォーカスのあるアイテムです。そこで、IupTree の VALUE 属性を取得します。Enter キーを押すと、既にアイテム ID を持つ executeleaf コールバックがトリガーされることに注意してください。

4) ドキュメントの TITLEid 属性を確認します。

5) ヒント: IupTree、IupMatrix、または IupList の属性を設定/取得する場合は、次を使用できます。

IupSetAttribute(ih, "TITLE3", "My Title");
  or
IupSetAttributeId(ih, "TITLE", 3, "My Title");

6) 前に言ったように、IupMatrix は IupCanvas を継承しているため、IupCanvas コールバックも確認する必要があります。IupMatrix コールバックのドキュメントを確認してください。最後に、IupCanvas コールバックに関する説明があります。

于 2013-04-22T13:31:43.863 に答える