Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
런처바(도구모음툴바) 만드는 방법
안녕하세요..
런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없네요..
아래한글이나 MS 오피스를 인스톨하면 화면 오른쪽에 도구모음툴바가 생성되는데
이것을 만들어 볼려고 해도 어떻게 시도를 해보아야 할지 도무지 알수가
없어서 이렇게 질문 올립니다.
구현방법이나 소스가 있으시면 꼭 부탁드리겠습니다.
감사합니다.
1
COMMENTS
김영대
•
1999.10.08 19:25
장대광 wrote:
> 안녕하세요..
>
> 런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없네요..
> 아래한글이나 MS 오피스를 인스톨하면 화면 오른쪽에 도구모음툴바가 생성되는데
> 이것을 만들어 볼려고 해도 어떻게 시도를 해보아야 할지 도무지 알수가
> 없어서 이렇게 질문 올립니다.
>
> 구현방법이나 소스가 있으시면 꼭 부탁드리겠습니다.
>
> 감사합니다.
전에 한번 올렸던 내용인데 참고해 보세요
// 다음 source는 제가 테스트 한 내용이구요, 아래 source에
// 한가지 빠진 내용이 있습니다(저만 다하면 재미 없으니까...)
// 그건 form을 desktop의 좌,우,상,하로 이동할 때 form의
// 형태가 바뀌는 것인데 그것은 아래 source에 주석표시가
// 된 곳을 참고하세요.
// 그럼 좋은 결과 있기를...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
BB_Calc: TBitBtn;
BB_Close: TBitBtn;
BB_notepad: TBitBtn;
Label1: TLabel;
Label2: TLabel;
procedure BB_CloseClick(Sender: TObject);
procedure BB_CalcClick(Sender: TObject);
procedure BB_notepadClick(Sender: TObject);
private
{ Private declarations }
procedure CreateParams(var Params: TCreateParams); override;
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure ExecNewProcess(ProgramName: String);
var
StartInfo : TStartupInfo;
ProcInfo : TProcessInformation;
CreateOK : Boolean;
begin
FillChar(StartInfo, SizeOf(TStartupInfo),#0);
FillChar(ProcInfo, SizeOf(TProcessInformation),#0);
StartInfo.cb := SizeOf(TStartupInfo);
CreateProcess(PChar(ProgramName),nil, nil, nil,False,
CREATE_NEW_PROCESS_GROUP+NORMAL_PRIORITY_CLASS, nil,
nil, StartInfo, ProcInfo);
end;
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
// 일반적인 폼의 특성을 다르게 지정
inherited CreateParams(Params);
Params.style := WS_Popup or
WS_ClipChildren or
WS_ClipSiblings or
WS_Border;
end;
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
// 윈도우즈에서 WM_NCHITTEST 메시지를 전달받아서 폼의 형식을 다르게 지정
// 왼쪽 마우스 버튼으로 Form을 drag하여 이동할 수 있게 됩니다
if GetAsyncKeyState(VK_LBUTTON) < 0 then
Msg.Result := HTCAPTION
else
Msg.Result := HTCLIENT;
// 참고하시라구 현재 form의 좌표를 표시해봤음
Label1.Caption := IntToStr(Self.Left);
Label2.Caption := IntToStr(Self.Top);
// Self.Width와 Self.Height를 변경하면
// form의 형태를 바꿀 수 있습니다
// ?
// ?
end;
procedure TForm1.BB_CloseClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.BB_CalcClick(Sender: TObject);
begin
// 이 버튼을 누루면 calc.exe가 실행됩니다
ExecNewProcess('c:windowscalc.exe');
end;
procedure TForm1.BB_notepadClick(Sender: TObject);
begin
// 이 버튼을 누루면 notepad.exe가 실행됩니다
ExecNewProcess('c:windowsnotepad.exe');
end;
end.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
김순호
•
1999.10.08 21:24
1
COMMENTS
/
0
LIKES
web 프로그램의 시발점은???
최선미
•
1999.10.11 18:34
김순호 wrote: > > web프로그래밍 시작과 완성이란 책을 보세요. 괜찮던데요.. > -------------------...
김순호
•
1999.10.08 21:22
1
COMMENTS
/
0
LIKES
web 서버구축에 관하여...
NiceJJ
•
1999.10.09 00:07
안녕하세요... Delphi 3.0으로도 개발할수 있지만, 제가 해 보니깐.. Delphi 4.0이나 5.0을 사용하시는...
atom
1999.10.08 20:29
0
COMMENTS
/
0
LIKES
AccessDB에서 Create View문제....
이양규
•
1999.10.08 20:16
2
COMMENTS
/
0
LIKES
Query로 삽입시 북마크이용..
이재식
•
1999.10.08 22:00
이양규 wrote: > TQuery컴포넌트 하나로 db에 자료를 삽입한 후에 > 다시 select 하였을 때 방금전에 삽...
김영대
•
1999.10.08 20:55
이양규 wrote: > TQuery컴포넌트 하나로 db에 자료를 삽입한 후에 > 다시 select 하였을 때 방금전에 삽...
고한석
1999.10.08 20:14
0
COMMENTS
/
0
LIKES
김영대님 이것 좀....
이규학
•
1999.10.08 20:06
3
COMMENTS
/
0
LIKES
파일 압출/풀기
이정욱
•
1999.10.09 19:55
한델 (http://www.delphi.co.kr) 자료실에 올라갔습니다. DelZip 입니다. 이규학 wrote: > 파일을 zip...
안치봉
•
1999.10.08 21:23
쩝.. 올리려고 했는데.. 저한테 없네요.. 델파이 수퍼페이지에 가셔서 찾아보시면 있습니다... 저희 지금...
안치봉
•
1999.10.08 21:20
공개컴포넌트도 있고(DelZip) 상용컴포넌트도 있습니다.(Abbrevia 기타등등) 물론 상용에는 기능이 더 많...
남윤혁
•
1999.10.08 18:13
1
COMMENTS
/
0
LIKES
TQuery와 TUpdateSQL을 이용하여 두 테이블 제어?
오승섭
•
1999.10.08 19:19
안녕하십니까? 오승섭입니다. 제가 알고 있기로는 사용자께서 어떤 DB를 사용하는지 모르겠지만 TQuery...
강경중
1999.10.08 15:31
0
COMMENTS
/
0
LIKES
도와 주세요....
허지웅
•
1999.10.08 15:15
1
COMMENTS
/
0
LIKES
웹 상의 ActiveForm에서 다른 페이지 호출은 어떻게?
구창민
•
1999.10.08 18:38
허지웅 wrote: > 자바 애플릿에는 showDocument(URL)이 있습니다. 이를 이용하여 showDocument(new URL(ht...
성희
1999.10.08 11:20
0
COMMENTS
/
0
LIKES
소프트웨어 공학에 관한 문제들
강경범
•
1999.10.08 09:06
3
COMMENTS
/
0
LIKES
쿼리된 필드의 내용을 편집할 순 없을까요?
고규인
•
1999.10.09 06:07
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
이주흥
•
1999.10.08 19:38
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
박윤종
•
1999.10.08 19:09
강경범 wrote: > 한 필드(pro_time)에 대해서 정렬하고, pro_time값을 누적해서 다른 필드(com)에 넣고싶...
memogi
•
1999.10.08 08:33
1
COMMENTS
/
0
LIKES
파라독스DB질문입니다..꼭 봐주세요??
이재식
•
1999.10.08 19:37
memogi wrote: > 안녕하세요... > 또..질문이 생겼거든요.. > 그전부터 궁금했었던건데요... > 만약에 ...
장대광
•
1999.10.08 06:58
1
COMMENTS
/
0
LIKES
런처바(도구모음툴바) 만드는 방법
안녕하세요.. 런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없네요.. 아래한글이나 MS 오피스를 인스톨하면 화면 오른쪽에 도구모음툴바가 생성되는데 이것을 만들어 볼려고 해도 어떻게 시도를 해보아야 할지 도무지 알...
김영대
•
1999.10.08 19:25
장대광 wrote: > 안녕하세요.. > > 런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없...
강민주
•
1999.10.08 06:51
1
COMMENTS
/
0
LIKES
TList에서 Sort()함수 사용법?
구창민
•
1999.10.08 19:09
강민주 wrote: > 안녕하세요. ^^; > > mdir같은 파일관리 프로그램을 만들려고 > TList로 파일리스트...
서영재
•
1999.10.08 05:02
1
COMMENTS
/
0
LIKES
파일에서 토큰을 이용해서 단어를 가져오는 함수나 프로시져가 없습니까
김영대
•
1999.10.08 19:33
서영재 wrote: > c나 java같은 언어는 토큰을 이용해서 파일에서 > 단어들을 가져올 수 있는 함수가 있는...
정은경
1999.10.08 04:36
0
COMMENTS
/
0
LIKES
copy error
DIP
1999.10.08 04:30
0
COMMENTS
/
0
LIKES
TFTP 사용 후, 종료 시 프로그램 Down ...
최영란
•
1999.10.08 03:21
1
COMMENTS
/
0
LIKES
다시한번 올립니다..동적 생성시킨 paintbox에서..
김영대
•
1999.10.08 20:12
최영란 wrote: > 제목 그대로입니다. > > paintbox를 동적생성시킨 후 > onpaint 이벤트를 호출한후 ...
junyes
•
1999.10.08 03:03
1
COMMENTS
/
0
LIKES
stringGrind에 출력되는 데이타만큼 그리드를 자동으로 이동되게
김영대
•
1999.10.08 19:29
junyes wrote: > 조회 화면에서 조회 키를 누르게 되면 죄회된 데이터 만큼 자동으로 스크롤바 > 가 아래...
DogSeller
1999.10.08 02:17
0
COMMENTS
/
0
LIKES
internet프로그램에서 문제점이 생김
장대광
1999/10/08 06:58
Views
402
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 안녕하세요..
>
> 런처바(도구모음툴바)를 만들려고 하는데 도무지 감을 잡을수가 없네요..
> 아래한글이나 MS 오피스를 인스톨하면 화면 오른쪽에 도구모음툴바가 생성되는데
> 이것을 만들어 볼려고 해도 어떻게 시도를 해보아야 할지 도무지 알수가
> 없어서 이렇게 질문 올립니다.
>
> 구현방법이나 소스가 있으시면 꼭 부탁드리겠습니다.
>
> 감사합니다.
전에 한번 올렸던 내용인데 참고해 보세요
// 다음 source는 제가 테스트 한 내용이구요, 아래 source에
// 한가지 빠진 내용이 있습니다(저만 다하면 재미 없으니까...)
// 그건 form을 desktop의 좌,우,상,하로 이동할 때 form의
// 형태가 바뀌는 것인데 그것은 아래 source에 주석표시가
// 된 곳을 참고하세요.
// 그럼 좋은 결과 있기를...
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Buttons;
type
TForm1 = class(TForm)
BB_Calc: TBitBtn;
BB_Close: TBitBtn;
BB_notepad: TBitBtn;
Label1: TLabel;
Label2: TLabel;
procedure BB_CloseClick(Sender: TObject);
procedure BB_CalcClick(Sender: TObject);
procedure BB_notepadClick(Sender: TObject);
private
{ Private declarations }
procedure CreateParams(var Params: TCreateParams); override;
procedure WMNCHitTest(var Msg: TMessage); message WM_NCHITTEST;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure ExecNewProcess(ProgramName: String);
var
StartInfo : TStartupInfo;
ProcInfo : TProcessInformation;
CreateOK : Boolean;
begin
FillChar(StartInfo, SizeOf(TStartupInfo),#0);
FillChar(ProcInfo, SizeOf(TProcessInformation),#0);
StartInfo.cb := SizeOf(TStartupInfo);
CreateProcess(PChar(ProgramName),nil, nil, nil,False,
CREATE_NEW_PROCESS_GROUP+NORMAL_PRIORITY_CLASS, nil,
nil, StartInfo, ProcInfo);
end;
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
// 일반적인 폼의 특성을 다르게 지정
inherited CreateParams(Params);
Params.style := WS_Popup or
WS_ClipChildren or
WS_ClipSiblings or
WS_Border;
end;
procedure TForm1.WMNCHitTest(var Msg: TMessage);
begin
// 윈도우즈에서 WM_NCHITTEST 메시지를 전달받아서 폼의 형식을 다르게 지정
// 왼쪽 마우스 버튼으로 Form을 drag하여 이동할 수 있게 됩니다
if GetAsyncKeyState(VK_LBUTTON) < 0 then
Msg.Result := HTCAPTION
else
Msg.Result := HTCLIENT;
// 참고하시라구 현재 form의 좌표를 표시해봤음
Label1.Caption := IntToStr(Self.Left);
Label2.Caption := IntToStr(Self.Top);
// Self.Width와 Self.Height를 변경하면
// form의 형태를 바꿀 수 있습니다
// ?
// ?
end;
procedure TForm1.BB_CloseClick(Sender: TObject);
begin
Close;
end;
procedure TForm1.BB_CalcClick(Sender: TObject);
begin
// 이 버튼을 누루면 calc.exe가 실행됩니다
ExecNewProcess('c:windowscalc.exe');
end;
procedure TForm1.BB_notepadClick(Sender: TObject);
begin
// 이 버튼을 누루면 notepad.exe가 실행됩니다
ExecNewProcess('c:windowsnotepad.exe');
end;
end.