|
작업표시줄의 크기를 구하는 내용입니다.
long TaskBarH;
APPBARDATA structBarData;
long l, r, t, b;
structBarData.cbSize = (unsigned long)sizeof(APPBARDATA);
TaskBarH = SHAppBarMessage(ABM_GETTASKBARPOS, &structBarData);
l = structBarData.rc.left;
r = structBarData.rc.right;
t = structBarData.rc.top;
b = structBarData.rc.bottom;
Label1->Caption = IntToStr(t);
Label2->Caption = IntToStr(l);
Label3->Caption = IntToStr(r);
Label4->Caption = IntToStr(b);
간단한 소스라 그냥 소스만 달랑 올려놓았습니다. ^^; 양해를..
APPBARDATA를 따라가보시면 구조체가 보일것입니다.
SHAppBarMessage API를 사용해서 구한겁니다.
자세한건 MSDN을 보십시요. ^^;
kobetime 님이 쓰신 글 :
: 지난 글에 이어서 다시 질문합니다.(장원석님 답변 감사합니다...^^)
:
: 폼의 위치를 지정하기 위해 머리를 써봤는데요,
: 좌측상단에 띄우기 위해 다음과 같이 했습니다.
: (MainForm1은 폼의 이름입니다)
: MoveWindow(MainForm1->Handle, Left - Left, Top - Top,
: MainForm1->Width, MainForm1->Height, NULL);
:
: 위는 문제 없이 떴습니다.
:
: 다음은 좌측하단에 띄우기 위해 짠겁니다.
:
: MoveWindow(MainForm1->Handle, Left - Left, Screen->Height - MainForm1->Height,
: MainForm1->Width, MainForm1->Height, NULL);
:
: 위에서 문제가 생겼는데, 작업표시줄이 폼을 가린다는겁니다...--;
: Screen->Height가 작업표시줄을 무시한 수치인것같은데,
: 작업표시줄 뒤로 일부분 숨어버리니 이상해보입니다.
:
: 폼을 작업표시줄 위쪽으로 올리려면 어떻게 해야하죠?
: 답변 부탁드립니다.
:
|