0
CButton *btn = new CButton();
btn->Create("btn", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(0,0,50,50), this, 1234);
btn = new CButton();
btn->Create("btn", WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, CRect(40,30,50,50), this, 1234);

CDialog :: OnInitDialog()で上記のコードを実行すると、最初のボタンのみが正しく表示され、2番目のボタンは不完全に表示されます。

任意の提案をいただければ幸いです。

4

1 に答える 1

2

CRectあなたが使用しているコンストラクターは、あなたが思っていることをしていません。4 つのパラメーター オーバーライドは、パラメーターとして左、右、上、下を受け取ります。長方形を小さくしすぎているだけです。不完全なことは何もありません。

余談ですが、両方のコントロールに同じコントロール ID の 1234 を指定しています。これは潜在的に危険です。むしろ、一意の値を指定する必要があります。

于 2013-01-17T10:34:34.447 に答える