kkuzil.own@gmail.com

Posted
Filed under Development/Delphi
단축키 우선 순위를 지정해줄 수 있다.


단축키가 먹지 않는 서드 파티의 단축키 등록 상태를 확인 후 맞게 지정되어 있다면...


메뉴 > Tools > Options > Editor Options > Key Mappings 에서

우측에 있는 "Enhancement modules:" 목록에서 원하는 서드파티를 선택 후 우선순위를 조절해 주면된다.
아래로 내릴 수록 우선 순위가 높다.


끝.
2018/11/14 22:50 2018/11/14 22:50
Posted
Filed under Development/Delphi
Ctrl + Alt + . : 주석으로 변경
Ctrl + Alt + , : 주석 해제
Ctrl + Alt + U : uses 로 이동 한번 더 누르면 interface uses로 이동 한번도 누르면 최초 제자리로 이동
Ctrl + Shift + V : 해당 프로시저의 var로 이동 한번 더 누르면 최초 제자리로 이동
Ctrl + Alt + O : 최근 열어본 파일 확인 및 열기
2015/04/21 09:39 2015/04/21 09:39
Posted
Filed under Development/Delphi
델파이 바로가기(.lnk) 속성으로 들어가서 "-np" 파라메터를 추가 해주면 된다.

끝.
2015/04/20 22:52 2015/04/20 22:52
Posted
Filed under Development/Delphi
TScrollBox 에서는 기본적으로 마우스 휠이 적용이 안된다.
그래서 적용하는 방법은...

TScrollBox을 품고 있는 폼의 MouseWheel 이벤트에

  if WheelDelta >= 0 then
    SendMessage(scBox.Handle, WM_VSCROLL, SB_LINELEFT, 0)
  else
    SendMessage(scBox.Handle, WM_VSCROLL, SB_LINERIGHT, 0);
  Handled := True;

을 하면 되는데, 다른 컨트롤에 스크롤이 있는경우 모든 스크롤 이벤트를 가로체서 해당 컨트롤에 까지 닫지 않는다.

WindowFromPoint(p: TPoint) 를 이용해서 마우스 커서에 올려져 있는 컨트롤이 TScrollBox인지 스크롤 다른건지 확인해서 넘겨준다.

procedure TForm1.Form1MouseWheel(Sender: TObject;
  Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
  var Handled: Boolean);
var
  h: HWND;
begin
  h := WindowFromPoint(MousePos);

  if (h <> vtProc.Handle) and (h <> vtList.Handle) then
    h := scBox.Handle;

  if WheelDelta >= 0 then
    SendMessage(h, WM_VSCROLL, SB_LINELEFT, 0)
  else
    SendMessage(h, WM_VSCROLL, SB_LINERIGHT, 0);
  Handled := True;
end;

이런식으로 폼 MouseWheel 이벤트에 추가해주면 장점이 있는데,
스크롤 할 컨트롤을 굳이 클릭해서 포커스를 주지 않아도 마우스 휠만으로 스크롤이 가능하다는 것이다.
 
끝.
2014/11/05 10:23 2014/11/05 10:23
Posted
Filed under Development/Delphi
다른 컴포넌트나 라이브러리의 클래스를 사용 할때 기존 소스코드의 변형없이 편하게 기능을 추가 할때 helper  클래스를 사용해왔는데 기작성된 메쏘드, 속성이 private에 있으면 사용이 안된다...
하지만...! 약간의 삽질 결과 아주 간단하게 해결됨..!! -ㅁ-)/


private 의 메쏘드와 속성을 사용할때 앞에 자신을 가리켜 주면된다.("Self.")

type
...
...
// 원래 클래스 형태

  TCustomEdit = class(TWinControl)
  private
    ..
    FMaxLength: Integer;
    ..
    ..

// helper 작성
  TTCustomEditHelper = class helper for TCustomEdit

  public
    procedure SetDefMaxLen;
    ..




implementation


procedure TTCustomEditHelper.SetDefMaxLen;
begin
  Self.FMaxLength := 100; // 요렇게
end;
2014/06/30 15:08 2014/06/30 15:08