Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15768] Message 관련해서 질문입니다.
안녕하세요 [] 1617 읽음    2016-08-30 11:50
http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=703

여기글을 참고해서 작업을 하려고 합니다.

procedure TForm1.FormCreate(Sender: TObject);
begin
   Application.OnMessage := AppMessage;
end;
넣었고

procedure TForm1.AppMessage(var Msg:tagMSG;var Handled: boolean);
var sClsName : String;
begin
  if (Msg.message = wm_lbuttondown) then begin
   end;
end;
넣었습니다.

제가 원하는 작업은 마우스 왼쪽버튼을 클릭할때 Tedit이면 Tedit에 특정작업을 할 예정입니다.

우선은 이걸로 해도 안됩니다.
1번
if Screen.ActiveControl is TEdit then TEdit(Screen.activeControl).Caption := 'A';

2번
sClsName:=Screen.ActiveControl.Name;
if sClsName='TEdit' Then TEdit(Screen.ActiveControl).Caption := 'A';

어딘가 잘못된거 같은데 모르겠습니다.

그리고 다른문제가 하나 더있습니다.
sClsName:=Screen.ActiveControl.Name; 이렇게 가져올때 메인폼 클릭을 하면 어플리케이션 에러가 납니다.
그래서 화면명을 가져와서 이 화면이 아닐때는 실행을 안하게 하려고
Screen.ActiveForm.Name 이걸로 가져와서 하는데도 어플리케이션 에러가 납니다.

근데 에러가 한번만 나고 다시 클릭했을시에는 제대로 화면명을 가져옵니다.

현재 화면여는 방식은 폼이 열리면 로그인창이 열리고 로그인이 되고 메인폼 클릭했을때 에러
다시 클릭했을때 제대로 가져오고요.
메인폼에서 다른폼을 열고 화면을 닫았을때 메인폼 클릭시 오류 -> 다시 클릭 오류가 없는데
조언좀 부탁드립니다. ㅠㅠ

+ -

관련 글 리스트
15768 Message 관련해서 질문입니다. 안녕하세요 1617 2016/08/30
15769     Re:Message 관련해서 질문입니다. Intotheblue 1651 2016/08/30
15770         Re:Re:Message 관련해서 질문입니다. 1568 2016/08/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.