Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  136

•  TDictionary Custom Sort  3 318

•  Fast Watermark Sources  3 065

•  3D Designer  4 825

•  Sik Screen Capture  3 321

•  Patch Maker  3 536

•  Айболит (remote control)  3 637

•  ListBox Drag & Drop  2 996

•  Доска для игры Реверси  81 578

•  Графические эффекты  3 927

•  Рисование по маске  3 232

•  Перетаскивание изображений  2 613

•  Canvas Drawing  2 735

•  Рисование Луны  2 561

•  Поворот изображения  2 166

•  Рисование стержней  2 161

•  Paint on Shape  1 564

•  Генератор кроссвордов  2 227

•  Головоломка Paletto  1 764

•  Теорема Монжа об окружностях  2 218

•  Пазл Numbrix  1 682

•  Заборы и коммивояжеры  2 052

•  Игра HIP  1 279

•  Игра Go (Го)  1 225

•  Симулятор лифта  1 471

•  Программа укладки плитки  1 214

•  Генератор лабиринта  1 542

•  Проверка числового ввода  1 353

•  HEX View  1 490

•  Физический маятник  1 355

 
скрыть


Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Delphi Sources

Заменить стандартные диалоги Windows



Оформил: DeeCo

{ 
  Sometimes we need to replace some text or something other in standard Windows 
  Open/Save dialogs. 
  Unfortunately, Delphi's dialogs components don't provide 
  the access to all controls placed on Windows common dialogs. 
  But we can perform this using Windows API. 
  The Example below demonstrates the changing all embedded 
  text controls in Open dialog.}

 { 
  Das Beispiel zeigt, wie man den Text in einem TOpenDialog 
  durch eigenen ersetzen kann. 
}


 uses
   CommDlg;

 {...}

 procedure TForm1.OpenDialog1Show(Sender: TObject);
 {First, we need to determine identifiers of dialog's 
 controls, they are following:}
 const
   LB_FILETYPES_ID = 1089; // "File types:" label 
  LB_FILENAME_ID = 1090;  // "File name:" label 
  LB_DRIVES_ID = 1091;    // "Look in:" label 

  Str1 = 'Four';
   Str2 = 'Five';
   Str3 = 'One';
   Str4 = 'Two';
   Str5 = 'Three';
 var
   hOpenDialog: HWND;
 begin
   hOpenDialog := GetParent(OpenDialog1.Handle);
   SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, idOk, Longint(PChar(Str1)));
   SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, idCancel, Longint(PChar(Str2)));
   SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_FILETYPES_ID, Longint(PChar(Str3)));
   SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_FILENAME_ID, Longint(PChar(Str4)));
   SendMessage(hOpenDialog, CDM_SETCONTROLTEXT, LB_DRIVES_ID, Longint(PChar(Str5)));
 end;

 procedure TForm1.Button5Click(Sender: TObject);
 begin
   if OpenDialog1.Execute then
   begin
     // ... 
  end;
 end;


 // for the Print - Dialog: 

procedure TForm1.PrintDialog1Show(Sender: TObject);
 begin
   SetWindowText(GetDlgItem(PrintDialog1.Handle, idOk), '&&OK2');
   SetWindowText(GetDlgItem(PrintDialog1.Handle, idCancel), '&Cancel2');
   SetWindowText(GetDlgItem(PrintDialog1.Handle, 1025), '&Properties2');
 end;

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   if PrintDialog1.Execute then
   begin
     // ... 
  end;
 end;



 // to Enumerate Control - IDs: 

function EnumProc(wnd: HWND; Lines: TStrings): BOOL; stdcall;
 var
   buf, Caption: array [0..255] of char;
 begin
   Result := True;
   GetClassname(wnd, buf, 256);
   GetWindowText(wnd, Caption, 256);
   Lines.Add(Format('ID: %d, class: %s, caption: %s',
     [GetDlgCtrlID(wnd), buf, Caption]));
 end;

 procedure TForm1.PrintDialog1Show(Sender: TObject);
 begin
   memo1.Clear;
   EnumChildWindows(Printdialog1.Handle, @EnumProc, Integer(memo1.Lines));
 end;




Похожие по теме исходники

Non Rectangular Windows

Windows Transparency

Windows Alpha-channel

Progress Windows

 

Popup Info Windows

Windows Sorting

RawWrite for Windows

Windows Desktops

 

Сообщения между процессами Windows




Copyright © 2004-2024 "Delphi Sources" by BrokenByte Software. Delphi World FAQ

Группа ВКонтакте