SetWindowPos関数


BOOL SetWindowPos(
 HWND hWnd,
 HWND hWndInsertAfter,
 int X,
 int Y,
 int cx,
 int cy,
 UINT uFlags
);

子ウィンドウ、ポップアップウィンドウ、トップレベルウィンドウにおいて、
そのサイズ、位置、Zオーダーを変更します。

hWndウィンドウのハンドルを指定します。
hWndInsertAfterhWndパラメータで指定したウィンドウに先行するウィンドウのハンドルを指定します。
HWND_BOTTOMウィンドウをZオーダーの最後(一番下)に置きます。
HWND_NOTOPMOSTウィンドウを最前面ウィンドウ(WS_EX_TOPMOST)以外のすべてのウィンドウの上位に置きます。
HWND_TOPウィンドウをZオーダーの最初(一番上)に置きます。
HWND_TOPMOSTウィンドウを最前面ウィンドウにします。
Xウィンドウの左上隅の新しいx座標を指定します。
Yウィンドウの左上隅の新しいy座標を指定します。
cxウィンドウの新しい幅をピクセル単位で指定します。
cyウィンドウの新しい高さをピクセル単位で指定します。
uFlagsウィンドウのサイズおよび位置の変更に関するフラグを指定します。
SWP_HIDEWINDOWウィンドウを非表示にします。
SWP_NOACTIVATEウィンドウをアクティブにしません。
SWP_NOMOVE現在の位置を維持します。(X,Yを無視します。)
SWP_NOOWNERZORDERオーナー・ウィンドウのZオーダーを変えません。
SWP_NOREDRAWウィンドウを再描画しない
SWP_NOSIZE現在のサイズを維持します。(cx,cyを無視します。)
SWP_NOZORDER現在のZオーダーを維持します。(hWndInsertAfterを無視します。)
SWP_SHOWWINDOWウィンドウを表示します。
Windows > ウィンドウの作成 | comments (0) | trackbacks (0)

汎用ポインタ

void *変数名


#include <stdio.h>

typedef struct tagTest {
 char c;
 int i;
} _TEST;

void Disp( void *t )
{
 printf( "%d\n", sizeof( *(_TEST*)t ) );
}

void main()
{
 _TEST test;
 Disp( &test );
}


汎用ポインタは任意のポインタを代入する事が可能であり、
同様に型キャストによって型を復元させる事ができます。


#include <stdio.h>

void Disp( void *t )
{
 char *pstr = (char*)t;
 puts( pstr );
 putchar( (int)*pstr );

 int *pd = (int*)t;
 putchar( *pd );
}

void main()
{
 char *str = "abcdefg";
 Disp( str );
}


あらゆる型のポインタをキャストできます。
C > ポインタ | comments (0) | trackbacks (0)