DrawFrameControlなのですが
ラジオボタンやチェックボックスは、
ボタンの位置やサイズ、テキストの位置は自分で計算するしかないのでしょうか?
>>952 DrawFrameControl は現状殆ど使い物にならないからやめた方がいいよ。
本物のコントロールを配置して、手前をWS_EX_TRANSPARENTなウィンドウで
覆っておくのがお勧め(何か上書きしたいならそのウィンドウで)。
>>953 やっぱしそうですか・・・。
「ボタンだけならどうにかなるけどチェックボックスとかはどうするのこれ?」って
結構迷いました・・・
というわけど教えてもらった方法を考えてみたいと思います
だれだ DrawFrameControl を薦めた香具師は
>やっぱしそうですか・・・。
最初から自分で作ればいいんじゃないか
>>956 まぁ、そうでしょうけど作るのがしんどいだろうし(自分のレベルじゃ)
できたとしても違うものが出来そうなので・・・
埋めようぜ
乙女座の聖闘士は、
自分の写真と某アニメのロリキャラとの合成プリントシャツ着たキモオタデブ
なんでもいいので埋めてください。
SuspendThread
ExitThread
とりあえず
>>960を埋めました
、、、、
_彡_, ,_ヾ
/∩|;`"皿`"|) =3
くヘ | ̄ヽL| |」 ]つ ┐
|j、__| |_| ┰'’
|__|_| _||_ (○)
|__)_) | ∪ | |/)
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
⊂⌒~⊃。Д。)⊃
FreeLibraryAndExitThread
CreateWindowは存在しない!
_onexit( exit_func );
...
int exit_func()
{
BUTTONウィンドウの背景色を
灰色じゃない色(例えば、赤)に変えるにはどうしたらいいのでしょうか?
2つのPOINT構造体からRECT構造体を返す関数はないでしょうか?
>>968 それくらい自分で作れ。
そういえばMFC/ATLのCRectにはPOINTとSIZEを受け取るコンストラクタがあった気がする。
>>969 そういう関数が最初からあるんだったら
そちらを使ったほうがいいかなと思ったのでとりあえず・・・
ないのでしたら自作します。
RaiseException(
0
, dwExceptionFlags //復帰不可能
, 0, NULL ) ;
972 :
971:2006/05/19(金) 22:51:48
__except(EXCEPTION_EXECUTE_HANDLER) { /*typo*/ }
//素で間違えたOrz
いいこと思いついた
お前らこのスレを埋めろ
よっし、お前が埋めろ
namespace foo {
class RECT
{
::RECT rect ;
public :
RECT(::POINT left_top, ::POINT right_bottom)
{
rect.left = left_top.x ; rect.top = left_top.y ;
rect.right = right_bottom.x ; rect.bottom = right_bottom.y ;
}
operator ::RECT() { return rect ; }
} ;
} //namespace foo
うーん、激しく車輪の再発明な気がしないでもない。
RECT のポインタを渡して中身を書き換えたときに
元の POINT の中身も換わって欲しかったりすることない?
よくわからないが、CRectをコピれば終わらないか?
ソースみたけどやっぱりコピってるんだね
SetRect
981 :
976:2006/05/20(土) 13:13:28
>>979 いや、そのヘッダは読んでいないけど、誰が書いても同じものになると思う。
コピってるっていう意味は元のPOINTの
インスタンスにデータをコピーしてるってことです
ごめん文章がおかしくなった
コピってるっていう意味は元のPOINTのデータを
RECTのインスタンスにコピーしてるってことです
afxwin1.inl というインライン定義記述用ソースファイルの中に
// CRect
_AFXWIN_INLINE CRect::CRect()
{ /* random filled */ }
_AFXWIN_INLINE CRect::CRect(int l, int t, int r, int b)
{ left = l; top = t; right = r; bottom = b; }
_AFXWIN_INLINE CRect::CRect(const RECT& srcRect)
{ ::CopyRect(this, &srcRect); }
・・・
こういうのが延々と続いていました
985 :
976:2006/05/20(土) 13:48:09
>>982 ここで、POINT構造体のラッパも用意してみる。
処理は全部、全部クラス内に記述する。
RECT rect = foo::RECT(foo:POINT(0, 0), foo::POINT(640, 480)) ;
賢いコンパイラなら、インライン展開したほうが得であると考えて、
インライン展開->さらに最適化->普通のRECT構造体に値を設定した場合と、なんら変わらない処理に。
というかコピーとかいうのは、どういう意味で使っているのだろう。
986 :
976:2006/05/20(土) 13:49:37
あ、POINT構造体とか言っている時点で、そもそも上の例は間違っているか。
普通のRECTなら、
RECT rect = {0, 0, 640, 480} ;
でいいか。
MFC使おうよ
>>985 わかりにくくてすみません
POINT p1 = { 5, 7 };
POINT p2 = { 13, 31 };
RECT r = hoge(p1, p2);
ここまではみなさんの考えてることと同じなのですが、
r.lefttop.x = 3;
としたときに、もとの
p1.x も 3 になってほしいのです
struct HOGE
間違えたorz
struct HOGE
{
POINT lefttop ;
POINT rightbottom ;
} ;
こんな感じかな。
こんなあほみたいなテクニックを使う、
わかりにくいコードなんて、読みたくないが。
それじゃだめでしょ
>>991 オーケー
>>988を読み直した。
コンストラクタでp1,p2の参照を取って、メンバに保持しておき、
RECTフェイクなクラスが変更されたら、参照も変更する。
ますます読みたくないコードだ。
埋めようよ
埋めてしまえ
梅
もったいないスレの使い方を・・・
いいじゃんいままでそうやって埋めてきたんだし
1000だったらVistaで新API UninstallWindowsVista導入
1000
1001 :
1001:
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。