Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.29;
Скачать: CL | DM;

Вниз

Как изменить свойства чужой формы (и можно ли такое вообще?)   Найти похожие ветки 

 
Rus   (2003-05-20 13:15) [0]

Доброго времени.
Сабж.

Имеется программа. Время от времени выскакивает окно в котором
FormStyle = fsStayOnTop.

Можно ли как-нить достучаться до этого свойства из парралельно запущенной программы и заменить его на fsNormal?

Обе программы на Delphi6.


 
VMcL ©   (2003-05-20 13:23) [1]

SetWindowPos


 
Digitman ©   (2003-05-20 13:26) [2]

ответ на вопрос - в исходниках :

procedure TCustomForm.CreateWnd;
var
ClientCreateStruct: TClientCreateStruct;
begin
inherited CreateWnd;
if NewStyleControls then
if BorderStyle <> bsDialog then
SendMessage(Handle, WM_SETICON, 1, GetIconHandle) else
SendMessage(Handle, WM_SETICON, 1, 0);
if not (csDesigning in ComponentState) then
case FormStyle of
fsMDIForm:
begin
with ClientCreateStruct do
begin
idFirstChild := $FF00;
hWindowMenu := 0;
if FWindowMenu <> nil then hWindowMenu := FWindowMenu.Handle;
end;
FClientHandle := Windows.CreateWindowEx(WS_EX_CLIENTEDGE, "MDICLIENT",
nil, WS_CHILD or WS_VISIBLE or WS_GROUP or WS_TABSTOP or
WS_CLIPCHILDREN or WS_HSCROLL or WS_VSCROLL or WS_CLIPSIBLINGS or
MDIS_ALLCHILDSTYLES, 0, 0, ClientWidth, ClientHeight, Handle, 0,
HInstance, @ClientCreateStruct);
FClientInstance := MakeObjectInstance(ClientWndProc);
FDefClientProc := Pointer(GetWindowLong(FClientHandle, GWL_WNDPROC));
SetWindowLong(FClientHandle, GWL_WNDPROC, Longint(FClientInstance));
end;

fsStayOnTop:
SetWindowPos(Handle, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE or
SWP_NOSIZE or SWP_NOACTIVATE);

end;
end;



Страницы: 1 вся ветка

Текущий архив: 2003.05.29;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
3-94737
Yakudza
2003-05-07 20:41
2003.05.29
Список парметров процедуры


3-94736
Инна
2003-05-06 02:18
2003.05.29
настоящий ComboBox в DBGride


1-94911
Андрей
2003-05-17 10:09
2003.05.29
Глобальные процедуры


1-94930
Max1111
2003-05-17 12:15
2003.05.29
Вызов справке.


3-94749
Andrio
2003-05-10 14:30
2003.05.29
if-then-else в вычисляемых полях