Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
터치키보드 만들기
별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트롤에 키입력이 되게 하고 싶은데 어떤 방법이 있는지요?
같은 폼안에서는 되는데 어플리케이션 차원에서는 안되는군요.
1
COMMENTS
한
•
2000.06.07 18:41
parkisu wrote:
> 별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트롤에 키입력이 되게 하고 싶은데 어떤 방법이 있는지요?
> 같은 폼안에서는 되는데 어플리케이션 차원에서는 안되는군요.
음냐.....약간 질문이 애매한데요....
제가 제대로 이해했는지 모르겠네요...
저번에도 올렸던 답변인데....참고하세요....
키보드 형태로 되어 있는 어플리케이션에서 어떤 이벤트가 발생할 때....
procedure TfrmMain2.btnMoveClick(Sender: TObject);
type
tData = Record
s: String[15];
end;
var DataStruct: TCopyDataStruct;
Data: TData;
h: hwnd;
begin
h := FindWindow('TfrmMain', nil);
If h = 0 then exit;
Data.s := 'test';
DataStruct.dwData := RegisterWindowMessage('SyncString');
DataStruct.cbData := SizeOf(TData);
DataStruct.lpData := @Data;
SendMessage(h, WM_COPYDATA, wParam(Application.Handle), lParam(@DataStruct));
end;
다른 어플리케이션에서 이 메세지를 받아서 실행하는 곳....
이벤트를 실행할 어플리케이션...
private
{ Private declarations }
procedure WndProc(var wpMessage: Tmessage); override;
public
procedure TfrmMain.WndProc(var wpMessage : Tmessage);
var tmp: String;
Data : TData;
begin
if (wpMessage.Msg = WM_CopyData) And
(PCopyDataStruct(wpMessage.lParam)^.dwData = f_my_Messagehandle)
then
begin
CopyMemory(@data, PCopyDataStruct(wpMessage.lParam)^.lpData, SizeOf(TData));
wpMessage.Result := 1;
tmp := data.s;
If tmp = [어떤 특정값이면] then 실행할 함수를 호출한다.
end
else inherited WndProc(wpMessage);
end;
위의 소스와 같이 현재 어플리케이션에서 어떤 조건에 의해 다른 어플리케이션의
이벤트를 실행시킬려면(말이 어렵나?ㅡ.ㅡ?)
어떤 특정값을 다른 어플리케이션에 보내는 것입니다.
그 값을 받은 다른 어플리케이션은 그 값을 비교해서 특정 이벤트를 실행시키면 되죠.
위의 소스를 참고하세요.
그럼 좋은 어플리케이션 만드세요.
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
사발우성
•
2000.06.07 20:22
4
COMMENTS
/
0
LIKES
파라독스 디비의 문제점에 대해서리 질문.....
최석기
•
2000.06.07 20:57
사발우성 wrote: > > 음.... 파라독스의 카운트속성에 대한 질문임당....[+] > 요넘은 왜 (why) 레코...
사발우성
•
2000.06.07 21:12
최석기님 감솨... 그런디 넘어렵땅... 조금더 쉽게 글구 전 영어가 짧아서리..... ㅜ.ㅜ HELP 도움말두 ...
최석기
•
2000.06.08 04:55
델파이 헬프에 있는 예제 그대로 올리는 거예요.. 그리고 소스를 직접 구하시는 것보다도 님이 직접 헬...
parkisu
•
2000.06.07 22:58
사발우성 wrote: > 최석기님 감솨... 그런디 넘어렵땅... > > 조금더 쉽게 글구 전 영어가 짧아서리......
안젤726
•
2000.06.07 20:13
1
COMMENTS
/
0
LIKES
[긴급질문] 프로그램 배포시 제품번호에 대한 등록번호.....
최용일
•
2000.06.07 21:14
안녕하세요. 최용일입니다. 이런 것은 스플래쉬폼을 만들때처럼 프로젝트파일에서 하는 것이 좋은 방법...
머리나쁜얀
•
2000.06.07 20:09
1
COMMENTS
/
0
LIKES
인스톨쉘드 작성후 설치하면 DB를 못찾는다고 합니다 방법좀여..T_T
이재식
•
2000.06.08 02:18
머리나쁜얀 wrote: > BDE 와 sqllink도 설치하구 알리아스도 이상없구여 > 서버측의 ms-sql을 사용하는데...
초보
•
2000.06.07 19:56
1
COMMENTS
/
0
LIKES
다음 에러좀 봐주세요..
최석기
•
2000.06.07 20:52
초보 wrote: > 데이타 입력시 다음과 같은 에러가 나면서 입력이 안 됩니다. > > 'Dataset not in edit...
초생
•
2000.06.07 19:17
1
COMMENTS
/
0
LIKES
dblookupcombobox에서 item을
사발우성
•
2000.06.07 19:20
초생 wrote: > 자꾸질문만 하네요. > dblookupcombobox에서 lookupfild에 임의로 item을 추가하는 방법이...
한현정
2000.06.07 18:53
0
COMMENTS
/
0
LIKES
퀵리포트를 bmp파일로 저장할 수 있나요?
초보자
•
2000.06.07 18:46
1
COMMENTS
/
0
LIKES
파라독스 DB를 MSSQL로 전환 하려면?
한
•
2000.06.07 18:51
초보자 wrote: > 급하게 질문드립니다. > 파라독스 DB를 MSSQL로 전환 하려면 어떤 방법이 있는지요? > ...
박충국
•
2000.06.07 18:07
1
COMMENTS
/
0
LIKES
좀도와주셔요..!^^
한
•
2000.06.07 18:49
박충국 wrote: > 안녕하십니까..!~~ > 다들 이 더운와중에도 줄프하시니라 수고가 많으십니다..!~~ > 다...
허영식
•
2000.06.07 18:04
1
COMMENTS
/
0
LIKES
IP 주소로 컴퓨터 이름 알아내는 방법은??
강인규
•
2000.06.07 18:07
김영대님이 작성하신 자료입니다...... procedure TForm1.Button1Click(Sender: TObject); var Addr...
박대규
•
2000.06.07 15:46
3
COMMENTS
/
0
LIKES
클라이언트/서버 소켓에서 비어있는 포트의 사용은?
갱수
•
2000.06.07 18:36
박대규 wrote: > 안녕하세요.. 델파이를 사랑하시는 여러분들.. > > 다름이 아니라 다음의 내용이 궁금...
박대규
•
2000.06.08 04:10
경수님 제가 원하는 답은 어느포트를 사용하는지 알고싶은게 아니라 프로그램에서 사용할수 있는 포트를...
김상호
•
2000.06.10 05:14
박대규 wrote: > 경수님 제가 원하는 답은 어느포트를 사용하는지 알고싶은게 아니라 > > 프로그램에서...
김성관
•
2000.06.07 12:33
1
COMMENTS
/
0
LIKES
인터넷을 통한 화상전송 방법
이경문
•
2000.06.09 09:58
아래로 들어와 보세요 http://210.216.14.148
델파이 초보
2000.06.07 11:59
0
COMMENTS
/
0
LIKES
C의 문법과 파스칼의 차이..
초보
•
2000.06.07 11:54
2
COMMENTS
/
0
LIKES
Edit 에 IP를 입력받으려는데 3자리마다 . 찍기
양병규
•
2000.06.07 19:53
IP Edit는 마스크에디터로 구현 할수 있지만... 커먼콘트롤이 있으니 사용해 보시는것도 좋을것같습니다...
한현정
•
2000.06.07 18:37
Mask Edit의 옵션을 바꿔주면 Mask Edit를 그대로 쓸수 있습니다. EditMask properties의 Character for B...
조운
2000.06.07 09:32
0
COMMENTS
/
0
LIKES
[HELP] UNIX용 소켓프로그램과 접속방법
채병호
2000.06.07 09:25
0
COMMENTS
/
0
LIKES
리스트 박스에서 에디트 컨트롤 사용
parkisu
•
2000.06.07 06:09
1
COMMENTS
/
0
LIKES
터치키보드 만들기
별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트롤에 키입력이 되게 하고 싶은데 어떤 방법이 있는지요? 같은 폼안에서는 되는데 어플리케이션 차원에서는 안되는군요.
한
•
2000.06.07 18:41
parkisu wrote: > 별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트...
[델파이]
•
2000.06.07 05:46
1
COMMENTS
/
0
LIKES
핸들을 알아네기..~! 간단한거...
nilriri
•
2000.06.07 22:30
컨트롤명.HANDLE;하면 됩니다. [델파이] wrote: > > 저기요 윈도우(FORM) 핸들은 어떻게 알아내져...
heimdal
•
2000.06.07 03:24
3
COMMENTS
/
0
LIKES
파라독스에서..
yosul
•
2000.06.07 03:52
아~ 이거여~ Window 제어판에 가셔서 "국가별 설정" 에 가시면 "날짜"부분에 고치는것이 있습니다. 4자...
heimdal
•
2000.06.07 04:27
감사합니다...날짜형식은 고쳐서 원하는데로 나왔는데.. 시간은 어떻게 입력해야할지.. 제어판에 들...
parkisu
•
2000.06.07 06:11
heimdal wrote: > 감사합니다...날짜형식은 고쳐서 원하는데로 나왔는데.. > > 시간은 어떻게 입력해야...
맹주형
•
2000.06.07 03:15
1
COMMENTS
/
0
LIKES
숫자에 format 주기
Mr.Q
•
2000.06.07 08:53
맹주형 wrote: > 숫자로 123이라는 값이 20자리의 필드로 되어있을때 > 출력은 00000000000000000123으로...
손규만
•
2000.06.07 02:25
2
COMMENTS
/
0
LIKES
델파이에서 원을 그리고 싶은데
황하성
•
2000.06.07 22:35
손규만 wrote: > 안녕하세요. > > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요. > > 반경(R)...
이영수
•
2000.06.07 08:19
손규만 wrote: > 안녕하세요. > > 델파이에서 원을 그리고 싶은데 어떻게 해야하지요. > > 반경(R)...
parkisu
2000/06/07 06:09
Views
579
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
> 별도의 폼하나를 키보드 형태로 만들고 버튼을 누르면 현재 활성화 되어있는 폼의 컨트롤에 키입력이 되게 하고 싶은데 어떤 방법이 있는지요?
> 같은 폼안에서는 되는데 어플리케이션 차원에서는 안되는군요.
음냐.....약간 질문이 애매한데요....
제가 제대로 이해했는지 모르겠네요...
저번에도 올렸던 답변인데....참고하세요....
키보드 형태로 되어 있는 어플리케이션에서 어떤 이벤트가 발생할 때....
procedure TfrmMain2.btnMoveClick(Sender: TObject);
type
tData = Record
s: String[15];
end;
var DataStruct: TCopyDataStruct;
Data: TData;
h: hwnd;
begin
h := FindWindow('TfrmMain', nil);
If h = 0 then exit;
Data.s := 'test';
DataStruct.dwData := RegisterWindowMessage('SyncString');
DataStruct.cbData := SizeOf(TData);
DataStruct.lpData := @Data;
SendMessage(h, WM_COPYDATA, wParam(Application.Handle), lParam(@DataStruct));
end;
다른 어플리케이션에서 이 메세지를 받아서 실행하는 곳....
이벤트를 실행할 어플리케이션...
private
{ Private declarations }
procedure WndProc(var wpMessage: Tmessage); override;
public
procedure TfrmMain.WndProc(var wpMessage : Tmessage);
var tmp: String;
Data : TData;
begin
if (wpMessage.Msg = WM_CopyData) And
(PCopyDataStruct(wpMessage.lParam)^.dwData = f_my_Messagehandle)
then
begin
CopyMemory(@data, PCopyDataStruct(wpMessage.lParam)^.lpData, SizeOf(TData));
wpMessage.Result := 1;
tmp := data.s;
If tmp = [어떤 특정값이면] then 실행할 함수를 호출한다.
end
else inherited WndProc(wpMessage);
end;
위의 소스와 같이 현재 어플리케이션에서 어떤 조건에 의해 다른 어플리케이션의
이벤트를 실행시킬려면(말이 어렵나?ㅡ.ㅡ?)
어떤 특정값을 다른 어플리케이션에 보내는 것입니다.
그 값을 받은 다른 어플리케이션은 그 값을 비교해서 특정 이벤트를 실행시키면 되죠.
위의 소스를 참고하세요.
그럼 좋은 어플리케이션 만드세요.