|
山紫水明さん、こんばんは。
杉浦 まさき です。
> ddepoke "newcontrol", "check,MyCheck1,チェックボックス1";
> ddepoke "default", "1";
> ddepoke "newcontrol", "check,MyCheck2,チェックボックス2";
> ddepoke "default", "1";
> ddepoke "newcontrol", "check,MyCheck3,チェックボックス3";
> ddepoke "newcontrol", "check,MyCheck4,チェックボックス4";
>
>として,ダイアログを表示した後,
> チェックボックス4をチェックしたら,連動して,チェックボックス1の
>チェックが外れるようにするには,どうしたらいいのでしょうか?
まず MyCheck4 に通知コードを割り当てて、
アドバイスループ内でその通知コードが来た場合に
MyCheck4 がチェックされているかを調べ、チェックされていたら
MyCheck1 のチェックを外せばよいです。
具体的には以下のような感じです。
// 通知コードの割り当て
ddepoke "newcontrol", "check,MyCheck4,チェックボックス4";
ddepoke "notify", "10"; // 数値は(0,1,-1 を除き)適当
// アドバイスループ
while (1) {
$item = "";
ddewaitadvice $item, 100;
if ($item == "1" || $item == "0") break;
if ($item == "10") {
// MyCheck4 がクリックされた
if (dderequest("getstate MyCheck4") == "1") {
// MyCheck4 がチェックされたので
// MyCheck1 のチェックを外す
ddeexecute "setstate MyCheck1 0";
}
}
...
}
|
|