![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Good Man |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 13.6.2002 Репутация: нет Всего: нет |
При вызове данной функции диалоговое окно выбора каталогов стремится почему-то вниз экрана.
Как заставить его отображаться по центру? |
|||
|
||||
| Technoboss |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 22.11.2002 Репутация: нет Всего: нет |
Привет!
Ф -ция SelectDirectory не позиционируется. Предлогаю сделать самому. Необходимо создать форму и вызывать её ShowModal ========================================================================= Пример вызова unit Unamrts; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl, ExtCtrls, Dirs; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; DirPath: String; //Переменная директории implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin Application.CreateForm(TForm2, Form2); Form2.ShowModal; if Form2.ModalResult = mrOk then begin Form2.Destroy; if Length(DirPath) > 3 then DirPath:= DirPath + '\'; {здесь дествия с выбранной директорией} end else Form2.Destroy; end; end. ======================================================== Пример выбора директории На форме: TEdit, TDirectoryListBox, TFileListBox, TDriveComboBox, Button1, Button2 unit Dirs; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, FileCtrl; type TForm2 = class(TForm) DriveComboBox1: TDriveComboBox; DirectoryListBox1: TDirectoryListBox; Button1: TButton; Button2: TButton; Edit1: TEdit; StaticText1: TStaticText; StaticText2: TStaticText; StaticText3: TStaticText; FileListBox1: TFileListBox; StaticText4: TStaticText; procedure Button2Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure DriveComboBox1Change(Sender: TObject); procedure DirectoryListBox1Change(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; Dir: String; implementation {$R *.DFM} uses Unamrts; procedure TForm2.Button2Click(Sender: TObject); begin Close; end; procedure TForm2.FormCreate(Sender: TObject); begin Edit1.Text:= ''; DriveCombobox1.Drive:= 'C'; DirectoryListBox1.Drive:= DriveCombobox1.Drive; Edit1.Text:= DirectoryListBox1.Directory; end; procedure TForm2.Button1Click(Sender: TObject); begin case GetDriveType(PChar(UpCase(DriveCombobox1.Drive) + ':\')) of DRIVE_UNKNOWN, DRIVE_NO_ROOT_DIR, DRIVE_CDROM, DRIVE_RAMDISK: begin if Application.MessageBox('Text!' + #13 + 'Text?', 'Confirm', MB_YESNO + MB_ICONEXCLAMATION) = IDYES then begin DirPath:= DirectoryListBox1.Directory; ModalResult:= mrOk; end else Exit; end; end; DirPath:= DirectoryListBox1.Directory; ModalResult:= mrOk; end; procedure TForm2.DriveComboBox1Change(Sender: TObject); begin try DirectoryListBox1.Drive:= DriveCombobox1.Drive; except {Обработка неправильно выбранного диска (н-р CD-ROM без диска)} Application.MessageBox('Text!', 'Error', MB_ICONHAND); DriveCombobox1.Drive:= 'C'; end; end; procedure TForm2.DirectoryListBox1Change(Sender: TObject); begin FileListBox1.Directory:= DirectoryListBox1.Directory; Edit1.Text:= DirectoryListBox1.Directory; end; end. |
|||
|
||||
| XpyDi |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 114 Регистрация: 25.11.2002 Где: USSR Репутация: нет Всего: 2 |
В таком случае, чем самому лепить окно проще через FindWindow, получив Handle нашего окна вызвать для него MoveWindow или что-то вроде этого, тем самым разместив его в нужной позиции на экране.
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |