[카테고리:] 델파이
바탕화면을 Parent로 놓고 바탕화면에 프로그램을 배치하기.
Desktop Window을 프로그램의 Parent에 놓는 방법입니다. 2가지중 원하시는 방법을 사용하세요. 첫번째. DC := GetWindow(GetWindow( FindWindow(‘Progman’,’Program Manager’),GW_CHILD),GW_CHILD); Windows.SetParent( Handle, DC ); 두번째. HW := FindWindow(‘Progman’,’Program Manager’);…
explorer 명령줄 Option 내용..
HOWTO: Windows 탐색기 보기를 사용자 지정하는 방법 이 문서가 적용되는 제품 보기. 기술 자료 ID : 307856 마지막 검토 : 2007년 12월 1일 토요일 수정…
cxGrid에서 Cell의 색을 변경하기.
cxGrid의 TableView의 이벤트에서 CustomDrawCell 이벤트가 있습니다. 이 이벤트는 AViewInfo: TcxGridTableDataCellViewInfo의 값을 이용해서 작업이 가능합니다. 퀀텀은 클래스 객체로 연결 되어 있으므로 AViewInfo: TcxGridTableDataCellViewInfo를 이용해서 셀의 색상…
WebBrowser의 HTML소스보기
WebBrowser의 Html 소스 StringList에 넣는 소스 입니다. 원 소스를 조금 수정한것입니다. 원본 소스 있는곳..http://delphi.about.com/od/internetintranet/l/aa062904a.htm 일반적으로 WebBrowser1.OleObject.Document.documentElement.innerHTML; 이렇게 얻은 내용과 약간의 차이가 있네요.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
procedure WB_SaveAs_HTML(WB: TWebBrowser; StrLst: TStrings); // uses ActiveX; var PersistStream: IPersistStreamInit; Stream: IStream; FileStream: TmemoryStream; begin if not Assigned(WB.Document) then begin ShowMessage('Document not loaded!'); Exit; end; PersistStream := WB.Document as IPersistStreamInit; FileStream := TmemoryStream.Create; try Stream := TStreamAdapter.Create(FileStream, soReference) as IStream; if Failed(PersistStream.Save(Stream, True)) then ShowMessage('SaveAs HTML fail!'); FileStream.Position := 0; StrLst.Clear; StrLst.LoadFromStream(FileStream); finally FileStream.Free; end; end; |
Delphi 모니터 화면 해상도 변경 소스
화면의 해상도를 바꾸는 소스 입니다. 대충 만든거라 변수명이나 기타등등이 뭐 좀 그렇습니다. 테스트해본 결과 잘 나옵니다. pageControl은 DevExpress의 내용을 사용한것이므로 일반 pageControl로 바꾸셔도 됩니다.
1 2 3 4 |
해상도를 바꾸는 작업은 3가지 함수만 알면 됩니다. EnumDisplayDevices, EnumDisplaySettings , ChangeDisplaySettings 위 3가지 함수만 알면 간단합니다. 간단히 제작 방법을 설명합니다. |
…
TS 프로그램 – 문자열 검색 프로그램
TS( Text Search )는 여러분이 지정한 폴더에서 하위 폴더까지를 검색하여 검색하려는 문자열이 존재하는 경우 찾아줍니다. 뭐 간단히 Delphi IDE의 서치 기능을 이용해도 되고, GExpert등과같은 3rd…
Skin Components에 대해..
스킨을 사용해보며 느낀점을 적어 봅니다. 1. Alpha Control 쉽고 적용이 빠른 Skin Component이다. 일반 컴포넌트도 지정한 Skin으로 런타임시 적용되고 사용법 또한 쉽다. 자체 스킨 컴포넌트를…
원하는곳에 마우스 포인터 지정하고 클릭한것처럼 꾸미기
원하는곳에 마우스 포인터 지정하고 클릭한것처럼 꾸미기.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
var Old_Point, T_Point: TPoint; R: Integer; begin T_Point.x := 요기에 원하는 x 좌표를 넣습니다. T_Point.y := 요기에 원하는 y 좌표를 넣습니다. GetCursorPos(Old_Point); // 마우스 좌표를 저장합니다. T_Point := ClientToScreen(T_Point); // 현재 좌표를 Windows Screen Area의 좌표로 변환. SetCursorPos(T_Point.x, T_Point.y); // 좌표로 이동합니다. mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 ); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0 ); SetCursorPos(Old_Point.x, Old_Point.y); // 원상태 복귀. |
EmbeddedWeb에서 클릭시 New윈도우가 나올때 막고 내가 원하는 EmbededWeb에 띄우기.
EmbeddedWeb에서 클릭시 New윈도우가 나올때 막고 내가 원하는 EmbededWeb에 띄우기. EmbededWeb에서 OnNewWindows3 이벤트에서 다음과 같은 작업을 합니다.
1 2 3 4 5 6 7 8 |
procedure TFRM.EmbeddedWB1NewWindow3(ASender: TObject; var ppDisp: IDispatch; var Cancel: WordBool; dwFlags: Cardinal; const bstrUrlContext, bstrUrl: WideString); begin Cancel := True; // 새로운 Explorer창을 띄우지 못하도록 합니다. EmbeddedWB2.Go( bstrUrl ); // URL을 내가 원하는 곳으로 출력합니다. Inc( clickCount ); end; |
도움되시길..
일반 DBGrid의 내용을 마우스로 누르지 않고 마우스 포인터위치로 Cell 이동하기 및 값 가져오기 입니다.
델마당에 팁으로 올린 내용인데. 제목 그대로 입니다. 일반 DBGrid의 내용을 마우스로 누르지 않고 마우스 포인터위치로 Cell 이동하기 및 값 가져오기 입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
procedure TForm1.DBGrid1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); var DBGrid : TDBGrid; gc : TGridCoord; iStartX, iStartY : Integer; Function ColumnName( X, Y : Integer ) : String ; begin result := ''; gc := TStringGrid(DBGrid).MouseCoord(x,y); if dgIndiCator in DBGrid.Options Then iStartX := 0 else iStartX := -1; if dgTitles in DBGrid.Options Then iStartY := 0 else iStartY := -1; if ( gc.X > iStartX ) and ( gc.Y > iStartY ) then Result := DBGrid.Columns[ gc.X - (1 + iStartX ) ].DisplayName; end; procedure SetColumn2MousePos; var i : Integer; iMoveRecordY : Integer; begin DBGrid.SelectedIndex := gc.X - (1 + iStartX ); iMoveRecordY := gc.Y - TStringGrid( DBGrid ).Row; If iMoveRecordY > 0 Then for i := 1 to iMoveRecordY do DBGrid.DataSource.DataSet.Next else If iMoveRecordY < 0 Then for i := iMoveRecordY to -1 do DBGrid.DataSource.DataSet.Prior; end; begin DBGrid := TDBGrid( Sender ); If ColumnName( X, Y ) <> '' Then begin DBGrid.Cursor := CrHandPoint; SetColumn2MousePos; end else DBGrid.Cursor := crDefault; end; |
최신 댓글