Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2007, 13:27   #1
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
Восклицание FHandle - говорит что нет, хотя эта же процедура успешно работает в модуле Dialogs, о

Помогите разобраться, а то никак не могу вьехать в чем дело:

procedure CenterWindow(Wnd: HWnd);
var
Rect: TRect;
Monitor: TMonitor;
begin
GetWindowRect(Wnd, Rect);
if Application.MainForm <> nil then
begin
if Assigned(Screen.ActiveForm) then
Monitor := Screen.ActiveForm.Monitor
else
Monitor := Application.MainForm.Monitor;
end
else
Monitor := Screen.Monitors[0];
SetWindowPos(Wnd, 0,
Monitor.Left + ((Monitor.Width - Rect.Right + Rect.Left) div 2),
Monitor.Top + ((Monitor.Height - Rect.Bottom + Rect.Top) div 3),
0, 0, SWP_NOACTIVATE or SWP_NOSIZE or SWP_NOZORDER);
end;
function DialogHook(Wnd: HWnd; Msg: UINT; WParam: WPARAM; LParam: LPARAM): UINT; stdcall;
var CreationControl: TCommonDialog;
begin
Result := 0;
if Msg = WM_INITDIALOG then
begin
CenterWindow(Wnd);
CreationControl.FHandle:=Wnd;
CreationControl.FDefWndProc := Pointer(SetWindowLong(Wnd, GWL_WNDPROC,
Longint(CreationControl.FObjectInst ance)));
CallWindowProc(CreationControl.FObj ectInstance, Wnd, Msg, WParam, LParam);
CreationControl := nil;
end;
end;

FHandle - говорит что нет, хотя эта же процедура успешно работает в модуле Dialogs, обьясните почему????
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Старый 08.06.2007, 13:36   #2
John_chek
Форумчанин
 
Аватар для John_chek
 
Регистрация: 24.01.2007
Сообщений: 108
По умолчанию

Помое му просто
Код:
CreationControl.Handle;
John_chek вне форума Ответить с цитированием
Старый 08.06.2007, 15:21   #3
mrandrey
Форумчанин
 
Регистрация: 30.03.2007
Сообщений: 124
По умолчанию

не все так просто, Handle в этом случае только для чтения, хотя сам вопрос немножко в другом, а именно, одна и таже процедура там работает, а там нет
Тут без 100г не розберешся.....
Спасибо не нужно, а на весы слева кликнуть не помешает!!!
mrandrey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Хранимая процедура не работает! Только_Учусь SQL, базы данных 6 08.09.2008 09:22
Помогите решить задачи (или хотя бы часть) Nefrit Паскаль, Turbo Pascal, PascalABC.NET 4 25.06.2008 20:45
Процедура не работает Михаил Юрьевич Общие вопросы Delphi 4 03.06.2008 07:22
почему-то в подключаемом модуле не видно глобальную переменную bat Общие вопросы C/C++ 4 23.08.2007 14:25
не работает хранимая процедура yulia БД в Delphi 11 28.05.2007 19:00