Я пытаюсь получить индекс TStatusPanel
(панель TStatusBar
) в событии OnDblClick
, чтобы использовать его с ShowMessage()
, например, но я не знаю, как получить индекс.Как получить индекс TStatusPanel (StatusBar - Delphi)?
Я знаю, что такие события, как OnDrawPanel
имеют параметр Panel: TStatusPanel
, но мне нужно то же самое в OnDblClick
, но есть только один параметр, Sender: TObject
.
Нет таких команд, как if StatusBar.Panel = 1
, например. Я могу использовать StatusBar.Panels[0]
, но я понятия не имею, как сравнить индекс, нажатый, чтобы показать мое сообщение.
Ну, это то, что мне нужно на легкий путь:
if StatusBar.Panel = 0 then
showmessage('0')
else if StatusBar.Panel = 1 then
showmessage('1');
Я знаю, что код выше не работает, это просто пример. Это должно быть что-то вроде этого:
if StatusBar.Panels[0].'SOMETHING' = 0 then
showmessage('0')
else if StatusBar.Panels[0].'SOMETHING' = 1 then
showmessage('1');
Вызвать GetMessagePos и выяснить, на какую панель нажали –
Дэвид Хеффернан, спасибо за ответ, но StatusBar находится в изменяемой форме, GetMessagePos возвращает разные позиции. – SisMaster
Так что. Вы должны знать, где находятся панели. И выясните, какой из них вы используете. –