Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
폼을 항상 위에...
5(실행파일 이름을 a,b,c,d,e 라고 할때)개의 실행화일이 있는데 모두 델파이로 만든거구여 각각의 폼 스타일은 fsNormal 입니다.
근데 이 5개중 1개(a 실행파일로 열린 폼)는 항상 b,c,d,e 폼 밑에 있어야 되거든요. 어떻게 방법이 없나요? 물론 각각의 폼 스타일은 StayOnTop로 하지 말구요.
방법좀 알려주세요. 자세한 설명과 함께...
많은 도움 부탁 드립니다.
3
COMMENTS
이성윤
•
2000.12.03 01:55
및에 답변 주신 분들께서 모두 setwindowpos이용을 답변주셨는데
제가 그방법은 않된다라고 말씀드리려니 조금 민망하네요.
델파이에서 기본적으로 만들어 주는 form에는 setwindowpos가 vb에서처럼
적용되지 못합니다.
이유는 main form(프로그램실행시 제일 먼저 실행하는 창 즉, 이 창을 닫으면 프로그램이 종료되는 창) 을 제외한 나머지 창들은 주창과 생성방식이 다른것 같습니다.
때문에 vb에서는 각각의 보조창을 띄워도 작업표실줄에 나타나는데,
델파이 만든 보조창은 작업표시줄에 않나타납니다.
이렇게 작업표시줄에 나타나지 않는 폼에 setwindowpos명령을 걸면
잠깐 앞으로 나온듯하지만 다른프로그램이 위로 엎고 나면 setwindowpos명령준것이
허사가 되어버립니다.
이경우
procedure CreateParams( var Params: TCreateParams );override;
를 이용하시면 폼스타일을 바꾸는 것이 가능합니다.
예제는 다음과 같습니다.
tform2 =class(tform)
private
procedure CreateParams( var Params: TCreateParams );override;
..
end;
procedure tform2.CreateParams( var Params: TCreateParams );
var
WndClass:TWndClass ;
begin
inherited CreateParams( Params );
with Params do
begin
style:=ws_popupwindow or style or WS_SIZEBOX ;
ExStyle:=ws_ex_appwindow or ExStyle or WS_EX_TOPMOS ;
// 몇개씩 빼고 실험해보시면 대충 아십니다.
WndParent := form1.Handle; //먼저만든 윈도우의 핸들
end;
end;
더욱 자세한 정보를 알고 싶으시면
createwindow와 createwindowex api를 참조하세요
createparams자체가 그놈들을 하나의 함수로 합친것이니까요
exstyle에 들어가는 속성은 createwindowex에서 하는놈의 속성이고
style에 들어가는 속성은 createwindow에서 하는 놈의 속성입니다.
그럼 즐거운 시간 되세요
0
0
삭제
수정
댓글
컴맹...
•
2000.12.01 18:23
요렇게 하묜..
최상위 폼이 되구여..
SetWindowPos(Handle,HWND_TOPMOST,left,Top,Width,Height,SWP_SHOWWINDOW);
SetWindowPos(Handle,HWND_NoTOPMOST,left,Top,Width,Height,SWP_SHOWWINDOW);
또이건 그걸 해제 하는것이여용~
도움이 되셨나여..?
그럼 20000
이민철 wrote:
> 5(실행파일 이름을 a,b,c,d,e 라고 할때)개의 실행화일이 있는데 모두 델파이로 만든거구여 각각의 폼 스타일은 fsNormal 입니다.
>
> 근데 이 5개중 1개(a 실행파일로 열린 폼)는 항상 b,c,d,e 폼 밑에 있어야 되거든요. 어떻게 방법이 없나요? 물론 각각의 폼 스타일은 StayOnTop로 하지 말구요.
>
> 방법좀 알려주세요. 자세한 설명과 함께...
>
> 많은 도움 부탁 드립니다.
0
0
삭제
수정
댓글
델파이 나도초보
•
2000.12.01 08:33
제가 비베에서 자주사용해왔기 때문에 될거에요.
Setwindowpos(
HWND hWnd, // handle of window
HWND hWndInsertAfter, // placement-order handle
int X, // horizontal position
int Y, // vertical position
int cx, // width
int cy, // height
UINT uFlags // window-positioning flags
)
사용방법(플래그처리)은 5년전에 마지막으로 사용했기에 잘모르겠어요.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
박소연
2000.12.01 07:02
0
COMMENTS
/
0
LIKES
oracle sql*net를 인스톨쉴드에서 어떻게 배포 하나요?
김도형
2000.12.01 06:43
0
COMMENTS
/
0
LIKES
Rich Editor에서 Page Break 하는 방법
권오현
2000.12.01 06:28
0
COMMENTS
/
0
LIKES
TreeView 동적생성과 동시에 보여주는방법..
pallas
•
2000.12.01 05:43
2
COMMENTS
/
0
LIKES
mdi 폼에서 자식폼을 create(self) 하잖아요....ㅠ..ㅠ
최영근
•
2000.12.01 21:33
pallas wrote: > 저기요 mdi 폼에서 자식폼을 create(self) 하잖아요....그러는데 그렇게 생성된 폼을 어...
김종언
•
2000.12.01 20:36
폼은 배열의 형태로 나옵니다.... 그러니깐... child....를 찾아보세요.... pallas wrote: > 저기요 m...
안젤726
2000.12.01 05:37
0
COMMENTS
/
0
LIKES
질문제목과 분류를 꼭 해주시길 부탁드립니다.
넘몰라
2000.12.01 05:20
0
COMMENTS
/
0
LIKES
QuickReport에서 정해진 줄수만큼 출력하기
최은석
2000.12.01 05:05
0
COMMENTS
/
0
LIKES
Re: 이건 정말루 안돼는가여...ㅠ.ㅠ
이민철
•
2000.12.01 04:09
3
COMMENTS
/
0
LIKES
폼을 항상 위에...
5(실행파일 이름을 a,b,c,d,e 라고 할때)개의 실행화일이 있는데 모두 델파이로 만든거구여 각각의 폼 스타일은 fsNormal 입니다. 근데 이 5개중 1개(a 실행파일로 열린 폼)는 항상 b,c,d,e 폼 밑에 있어야 되거든요. 어떻게 방법이 없나...
이성윤
•
2000.12.03 01:55
및에 답변 주신 분들께서 모두 setwindowpos이용을 답변주셨는데 제가 그방법은 않된다라고 말씀드리려니...
컴맹...
•
2000.12.01 18:23
요렇게 하묜.. 최상위 폼이 되구여.. SetWindowPos(Handle,HWND_TOPMOST,left,Top,Width,Height,SWP_SHOW...
델파이 나도초보
•
2000.12.01 08:33
제가 비베에서 자주사용해왔기 때문에 될거에요. Setwindowpos( HWND hWnd, // handle of window ...
won
2000.12.01 03:54
0
COMMENTS
/
0
LIKES
index does not exist.. 에러 납니다.
델피오
2000.12.01 03:37
0
COMMENTS
/
0
LIKES
도스프로그램 핸들은 어떻게 얻나요?
향기
•
2000.12.01 03:11
1
COMMENTS
/
0
LIKES
udp 통신시에..
이경문
•
2000.12.04 11:22
제가 알기로는 어플이 한 컴퓨터에서 같은 포트로 열면 안되는 걸로 알고 있습니다. 향기 wrote: > 음...
bingyou
2000.12.01 02:45
0
COMMENTS
/
0
LIKES
SaveDialog의 Filter속성에 대해
황선희
•
2000.12.01 02:34
3
COMMENTS
/
0
LIKES
StringGrid의 내용을 엑셀로 보내려면...
허준
•
2000.12.01 02:41
반갑소. 어이 허준이오. 그전에도 여러번 얘기 한것 같소만.StringGrid의 내용을 엑셀로 변환하려면 막 ...
허준아버지
•
2001.11.03 02:34
허준 wrote: > 반갑소. 어이 허준이오. > 그전에도 여러번 얘기 한것 같소만.StringGrid의 내용을 엑셀로...
황선희
•
2000.12.01 17:44
허준 wrote: > 반갑소. 어이 허준이오. > 그전에도 여러번 얘기 한것 같소만.StringGrid의 내용을 엑셀로...
아오시
•
2000.12.01 02:34
2
COMMENTS
/
0
LIKES
쿼리에서 FetchAll를 쓰면 왜 느려지나요.
컴맹...
•
2000.12.01 18:26
FetchAll은 말그대로... Table.Last; Table.First; 와 같기 때문이죠... 그럼 이만.... 아...
허춘
•
2000.12.01 15:10
아오시 wrote: > 저것을 쓰면 무지 느려지는데요..왜 그러죠? > 저것을 안쓰면 레코드카운트가 제대로 안...
고유진
•
2000.12.01 01:46
2
COMMENTS
/
0
LIKES
콤퍼넌트 변수처리 과정에서...
허준
•
2000.12.01 03:12
반갑소 어이! 허준이라 하오. 처리 방식이 잘못 된것같소. With FindComponent('QRLG'+ii) as TQRLabel d...
고유진
•
2000.12.01 17:52
허준 wrote: > 반갑소 어이! 허준이라 하오. > 처리 방식이 잘못 된것같소. > With FindComponent('QRLG...
neo
•
2000.12.01 01:28
1
COMMENTS
/
0
LIKES
MouseDown Event에서.
컴맹...
•
2000.12.01 18:29
Mouse Down event에 TShiftState는 Set type입니다.. 따라서 사용하실때에는 Shift=[ssShift] 이렇게 ...
물음표
•
2000.12.01 01:04
2
COMMENTS
/
0
LIKES
컴포넌트 설치시....???에러
허준
•
2000.12.01 03:20
반갑소. 어이! 허준이라 하오 델파이 IDE에서는 1024 Column을 넘어 갈수가 없소. 물론 편집을 했다는 것...
물음표
•
2000.12.01 11:15
허준 wrote: > 반갑소. 어이! 허준이라 하오 > 델파이 IDE에서는 1024 Column을 넘어 갈수가 없소. > 물...
이홍락
2000.12.01 00:52
0
COMMENTS
/
0
LIKES
MDI의 윈도우 메뉴에서
jonghoon
•
2000.12.01 00:35
1
COMMENTS
/
0
LIKES
프로그램을 잠시 멈췄다가 다시 실행시키는 방법
공성환
•
2000.12.01 00:50
sleep(1000) 1초지연... jonghoon wrote: > 제가 ole로 다른 프로그램을 이용하고 있는데 > 제가 요청...
철
•
2000.12.01 00:30
1
COMMENTS
/
0
LIKES
오라클 프라이머리 키 생성문(쉬운질문)
공성환
•
2000.12.01 00:58
ALTER TABLE 테이블명 ADD CONSTRAINT 프라이머리키이름 PRIMARY KEY (프라이머리키로정할필드명) ...
이민철
2000/12/01 04:09
Views
828
Likes
0
Comments
3
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
제가 그방법은 않된다라고 말씀드리려니 조금 민망하네요.
델파이에서 기본적으로 만들어 주는 form에는 setwindowpos가 vb에서처럼
적용되지 못합니다.
이유는 main form(프로그램실행시 제일 먼저 실행하는 창 즉, 이 창을 닫으면 프로그램이 종료되는 창) 을 제외한 나머지 창들은 주창과 생성방식이 다른것 같습니다.
때문에 vb에서는 각각의 보조창을 띄워도 작업표실줄에 나타나는데,
델파이 만든 보조창은 작업표시줄에 않나타납니다.
이렇게 작업표시줄에 나타나지 않는 폼에 setwindowpos명령을 걸면
잠깐 앞으로 나온듯하지만 다른프로그램이 위로 엎고 나면 setwindowpos명령준것이
허사가 되어버립니다.
이경우
procedure CreateParams( var Params: TCreateParams );override;
를 이용하시면 폼스타일을 바꾸는 것이 가능합니다.
예제는 다음과 같습니다.
tform2 =class(tform)
private
procedure CreateParams( var Params: TCreateParams );override;
..
end;
procedure tform2.CreateParams( var Params: TCreateParams );
var
WndClass:TWndClass ;
begin
inherited CreateParams( Params );
with Params do
begin
style:=ws_popupwindow or style or WS_SIZEBOX ;
ExStyle:=ws_ex_appwindow or ExStyle or WS_EX_TOPMOS ;
// 몇개씩 빼고 실험해보시면 대충 아십니다.
WndParent := form1.Handle; //먼저만든 윈도우의 핸들
end;
end;
더욱 자세한 정보를 알고 싶으시면
createwindow와 createwindowex api를 참조하세요
createparams자체가 그놈들을 하나의 함수로 합친것이니까요
exstyle에 들어가는 속성은 createwindowex에서 하는놈의 속성이고
style에 들어가는 속성은 createwindow에서 하는 놈의 속성입니다.
그럼 즐거운 시간 되세요