Модератор: Модераторы
В лазаре все просто: создал форму и св-ве FormStyle указал StayOnTop
_NET_ACTIVE_WINDOW
_NET_ACTIVE_WINDOW, WINDOW/32
The window ID of the currently active window or None if no window has the focus. This is a read-only property set by the Window Manager. If a Client wants to activate another window, it MUST send a _NET_ACTIVE_WINDOW client message to the root window:
_NET_ACTIVE_WINDOW
window = window to activate
message_type = _NET_ACTIVE_WINDOW
format = 32
data.l[0] = source indication
data.l[1] = timestamp
data.l[2] = requestor's currently active window, 0 if none
other data.l[] elements = 0
Source indication should be 1 when the request comes from an application, and 2 when it comes from a pager. Clients using older version of this spec use 0 as source indication, see the section called “Source indication in requests” for details. The timestamp is Client's last user activity timestamp (see _NET_WM_USER_TIME) at the time of the request, and the currently active window is the Client's active toplevel window, if any (the Window Manager may be e.g. more likely to obey the request if it will mean transferring focus from one active window to another).
Depending on the information provided with the message, the Window Manager may decide to refuse the request (either completely ignore it, or e.g. use _NET_WM_STATE_DEMANDS_ATTENTION).
XRaiseWindow - разместить окно поверх остальных
test(const sender: TObject);
var
prDisplay: PDisplay;
begin
prDisplay := XOpenDisplay ( nil );
if prDisplay = nil then
begin
writeln('Can not connect to the X server!');
exit;
end;
XRaiseWindow(prDisplay,mainfo.window.winid);
XCloseDisplay ( prDisplay );
end;
как относится к кросс отчетам мсе репорт
Иногда в мсе вроде мелочь, а лопатить приходится...
Ну не удобен генератор отчетов в мсе
Т.е., как я понял, StayOnTop как таковой есть, но чет не доработано.
Во время исполнения нажимаем кнопку, а потом максимизуруем окно. В результате popupmenu висит где первоначально создавалось.
1. Делаем 2 формы (одна главная, вторая док);
[..]
Попутно, еще баг:
Есть хорошая функция для показа доп. меню. Т.е. взял кнопку, popupmenu. В обработчике кнопки написал показать меню под кнопкой (не помню название процедуры, да это и не важно, она работает и отображает все правильно). Во время исполнения нажимаем кнопку, а потом максимизуруем окно. В результате popupmenu висит где первоначально создавалось.
As designed, popup menus are normally triggered by RighClick and therefore
not anchored to a base widget. Please use tmainmenuwidget (tab 'Widget')
instead.
- имеет фокус ??? (работа с клавиатурой, без мыши)tmainmenuwidget
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3