Q&A

  • [질문]Memo에서 마우스 오른쪽버튼 클릭시
Memo컴퍼넌트에서 글을 쓰고 있는중 마우스 오른쪽 버튼을 클릭하면 스트링그리드가 보이고
목록중 하나를 선택하면 선택된 셀의 내용을 현재의 위치에 넣고 싶은데 어떻게 하나요.
7  COMMENTS
  • Profile
    구창민 2009.10.16 19:45
    TMemo 의 OnMouseUp 이벤트에서 마우스 우클릭이 일어났을때 캐럿의 위치를 저장하고,
    숨겨두었던 TStringGrid 의 Visible 속성을 True 로 해서 보이게 하고,
    TStringGrid 의 셀을 선택하고 특정 버튼을 누르면 다시 TStringGrid 는 숨기고,
    저장해 두었던 TMemo 의 캐럿의 위치에 TStringGrid 에서 선택한 셀의 내용을 넣는다..

    뭐 이쯤 되겠네요.. 일단 해보세요..
    하다가 안되는 문제는 다시 질문 해 주시면 성심껏 답변드려 볼게요

    즐거운 프로그래밍 하시구요~
  • Profile
    강중규 2009.10.17 02:39
    procedure TSangSik_Get.ContentMouseUp(Sender: TObject;
    Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
    if Button = mbRight then
    showmessage('오른쪽 마우스');
    end;

    위와 같이 코딩하고 실행을 시키니 실행취소, 잘라내기등 상자박스가 나오고
    Showmessage가 실행이 되내요.
  • Profile
    구창민 2009.10.20 03:21
    메모장에서 우클릭시 컨텍스트 메뉴가 안나오게 하고 싶단 의미라면..
    아래처럼 TMemo 의 ContextPopup 이벤트에 Handled := False 하시면, 컨텍스트 메뉴는 나타나지 않을 겁니다..

    procedure TSangSik_Get.ContentContextPopup(Sender: TObject; MousePos: TPoint;
    var Handled: Boolean);
    begin
    Handled := True;
    end;
  • Profile
    강중규 2009.10.20 07:11
    감사합니다. 컨텍스트 메뉴가 안나오게 하고 싶었거든요.
    그런데, 우클릭시 스트링그리드가 나오고, 그중에 한 셀을 선택하면 선택된 셀의 내용이 메모에 추가하고 싶은데
    여기에서 또 막히내요.

    아래와 같이 "ㄱ"이 여덜개 있고 그중 다섯번째에서 마우스 우클릭을 해서 스트링그리드가 나오고 그중 한 셀을 선택
    1 2 3 4 5 6 7 8
    ㄱㄱㄱㄱㄱㄱㄱㄱ

    하면 (선택된 문자ㅏ "▶"일때 결과는 다음과 같이 구현을 할려고 하니 잘 안되내요.
    1 2 3 4 5 6 7 8 9
    ㄱㄱㄱㄱ▶ㄱㄱㄱㄱ
  • Profile
    강중규 2009.10.20 16:18
    Content.SetSelTextBuf()를 사용하니 되내요.
    그런데, 스트링그리의 목록중 하나를 했을때의 코딩
    Content.SetSelTextBuf(Code_Grid.cells[1,Code_Grid.row]);하니 오류나

    procedure TSpecial_Character_Johoe.Code_gridDblClick(Sender: TObject);
    begin
    SangSik_Get.Content.SetSelTextBuf(code_grid.Cells[1,code_grid.Row]);
    close;
    end;

    위와 같이 하니 아래와 같은 에러 메시지가 나오내요.
    [Error]Special_Character_pas.pas[110]: Incompatible types: 'String' and 'PansiChar'
  • Profile
    구창민 2009.10.20 18:22
    델파이 7 버전이신가봐요? SetSelTextBuf 는 아마도 인자가 PAnsiChar 이어서 그럴겁니다.

    code_grid.Cells[1,code_grid.Row]) <- 리턴값이 스트링이므로

    위 문장을 아래처럼 바꾸시고 테스트 해보세요.

    SangSik_Get.Content.SetSelTextBuf(PChar(code_grid.Cells[1,code_grid.Row]));

    그럼..즐거운 프로그래밍..하세요..
  • Profile
    강중규 2009.10.21 16:37
    답변 감사합니다. 위와 같이 하니 되내요.

    즐거운 하루 되세요.
    • cdrd
    • 2009.10.14 18:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 아르스
    • 2009.10.13 19:57
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 초보임당
      2009.11.10 05:34
      흠...저도 그문제 때문에 골치가 좀 아팠는데요.. 리모트 데이터모듈 소스 보시면 updateRegistry ...
    • 초보임당
      2009.11.18 18:20
      리모트데이터모듈 을 등록하는 방법을 알아냈네요.. 그냥 exe 화일을 실행하지 마시고.. 실행시 실...
    • 아르스
      2009.11.27 22:51
      감사합니다 ^^ 레지스트리에 강제로 등록하는 프로그램을 만들어서 등록을 했었는데 /regserver ...
    • 강중규
    • 2009.10.13 18:49
    • 7 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.10.16 19:45
      TMemo 의 OnMouseUp 이벤트에서 마우스 우클릭이 일어났을때 캐럿의 위치를 저장하고, 숨겨두었던 TStri...
    • 강중규
      2009.10.17 02:39
      procedure TSangSik_Get.ContentMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState...
    • 구창민
      2009.10.20 03:21
      메모장에서 우클릭시 컨텍스트 메뉴가 안나오게 하고 싶단 의미라면.. 아래처럼 TMemo 의 ContextPopup...
    • 강중규
      2009.10.20 07:11
      감사합니다. 컨텍스트 메뉴가 안나오게 하고 싶었거든요. 그런데, 우클릭시 스트링그리드가 나오고, 그...
    • 강중규
      2009.10.20 16:18
      Content.SetSelTextBuf()를 사용하니 되내요. 그런데, 스트링그리의 목록중 하나를 했을때의 코딩 Cont...
    • 구창민
      2009.10.20 18:22
      델파이 7 버전이신가봐요? SetSelTextBuf 는 아마도 인자가 PAnsiChar 이어서 그럴겁니다. code_grid....
    • 강중규
      2009.10.21 16:37
      답변 감사합니다. 위와 같이 하니 되내요. 즐거운 하루 되세요.
    • 이강석
    • 2009.10.13 02:51
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 구창민
      2009.10.16 03:51
      관련 내용을 팁게시판에 올려둘께요 참고하시기 바랍니다. 그럼 즐거운 프로그래밍 하시구요~
    • 백록화
      2009.10.13 18:55
      해당 url을 호출하고 완료되는 시점을 확인하실려는것인가요? 아님 그 결과값을 알고자 하시는것인지?? ...
    • ▷◁병부잡이
      2009.10.13 19:52
      var s : string; begin s := IdHTTP1.Get('http://222.122.111.123/pb_reg.jsp?aid=abc&pwd=1234'...
    • phono
      2009.10.10 02:50
      단순히 시간을 클라이언트에 set 하는 방법은 NET TIME \\서버명 /SET /YES 로 하시면 되는데 ...
    • 윤중현
      2009.10.10 03:19
      와우~ 저희 회사에도 도움이 되겠는데요~ 저도 플리즈~~ 헬 ~~ 프~~ 미~~ ^^;; 도움이 안되는 댓글 죄송...
    • 강중규
    • 2009.10.07 22:02
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 박종철
    • 2009.10.07 19:19
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 박종철
      2009.10.07 19:21
      어이쿠 자답입니다. ISNULL에다가 ''만 넣었네요... ㅠ_ㅠ 왜 이런 실수를 했을까... ''''로 변경...
    • 강중규
    • 2009.10.06 20:22
    • 12 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2009.10.06 23:14
      '스트링 그리드 콤보 박스' 검색해도 많이 나오는데요....자료실에 제가 예전에 올린 테스트 소스도 있습...
    • 강중규
      2009.10.07 05:45
      답변 감사합니다. 그런데, 버튼을 하나 만들고, 버튼을 누르면 쇼메시지에 보이게는 어떻게 하죠. show...
    • 홍성락
      2009.10.07 18:20
      객체를 Tcombobox형으로 해서 읽어보세요 showmessage( Tcombobox(test_gred.objects[1,test_gred.row])...
    • 강중규
      2009.10.07 18:54
      감사합니다. 그건 해결을 했습니다. 그런데, 콤보박스의 목록중 하나를 선택하면, 그리드의 콤보박스...
    • 홍성락
      2009.10.07 22:18
      조금 수정했습니다 1. 한번만 생성되도록 2. 동적 콤보박스 생성시 부모가 윈도우 클래스냐에 따라 이...
    • 강중규
      2009.10.08 05:24
      답변 감사합니다. procedure TForm1.MyComboBoxChange(Sender: TObject); begin test_grid.Cell...
    • 홍성락
      2009.10.08 05:54
      스트링 그리드의 OnClick에서 처리하신다고 하지 않나요. OnClick이라면 MyComboBoxChange 이후 사라질거...
    • • • •
    • 최용일
      2009.10.06 04:18
      그냥 정수로 바꾸시면 될듯하네요. ...+#$30+#$ㅁㅁ+#$67+... ...+#$30+Char(StrToInt(Edit1.Text))+...
    • 오델로
      2009.10.06 17:39
      답변과 관심 감사드리구요 제가 생각하는건 만약 13을 입력하면 1과3으로 분리한후 ...+#$ㅅㅅ+#$...
    • 홍성락
      2009.10.06 21:01
      # 는 ASC코드로, $ 는 16진수를 10진수로.... #$20는 $20(16진수 20을 10진수값 32)의 아스키코드...
    • 오델로
      2009.10.07 03:27
      최용일님 말씀처럼 해보면 ...+#$30+Char(StrToInt(Edit1.Text))+#$67+... 요부분에서 [Pascal ...
    • 최용일
      2009.10.07 03:59
      1의 헥사값 31이 mm에들어가고 3의 헥사값 34이 ss자리에 들어가도록 하고싶습니다.... 위 질문대로라...
    • 홍성락
      2009.10.07 04:09
      mm은 Char형이구요. 1과 3의 헥사를 구해 넘긴다면 Chr와 StrToint와 '$' + IntToHex() 등등을 사용하겠...
    • 김홍균
      2009.10.07 14:27
      보낼 때 var ss : word; H_ss, L_ss : word; begin ss :=strtoint('$'+(Edit1.Text)); // ...
    • • • •
    • 배경
    • 2009.10.02 00:59
    • 0 COMMENTS
    • /
    • 0 LIKES
    • Elpira
    • 2009.10.01 21:13
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 정경철
    • 2009.10.01 16:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 오병주
      2009.10.14 01:55
      미들웨어는 그냥 CORBA로 사용해도 충분히 될것은데요 그리고 데몬프로그램은 소켓통신을 이용하는게 제...
    • cdrd
    • 2009.10.01 01:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • cdrd
      2009.10.01 20:15
      아래와 같이 함수를 수정하였습니다. 결국 유니코드 문제였습니다. <!--CodeS--> function IP...
    • 김동원
    • 2009.09.30 08:11
    • 3 COMMENTS
    • /
    • 0 LIKES
    • phono
      2009.09.30 22:12
      procedure DB_Open(adoConnect: TADOConnection; CONNECT_ADDR: string); var DBPW: string; i...
    • 김동원
      2009.10.05 22:49
      대단히 감사합니다. 정말 귀한 정보 감사드립니다.
    • phono
      2009.10.05 23:54
      GetDBCONNID, GetDBCONNDB, GetDBCONNPW는 제가 임의 사용하는 함수 입니다. SQL서버에 등록한 ID, 생...
    • 한만희
    • 2009.09.30 02:22
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 엽기블랙
      2009.09.30 18:59
      DoubleBuffered := TRUE; 델파이에서는 하시면 대부분 해결됩니다.