Текущий архив: 2005.11.13;
Скачать: CL | DM;
Вниз
Высота и ширина PopUp`a Найти похожие ветки
← →
markers © (2005-10-20 17:09) [0]Здраствуйте!
Что-то не могу разобраться, так узнать высоту и ширину попапа? Всё пересмотрел, может плохо смотрел? Подскажите плиз!
← →
clickmaker © (2005-10-20 17:16) [1]"попап" - это PopupMenu?
GetMenuItemRect * Count
← →
markers © (2005-10-20 17:19) [2]Да PopUpMenu! Спасибо! Ща попробую!
← →
markers © (2005-10-20 18:20) [3]Что-то маленько не могу разобраться с параметрами команды GetMenuItemRect, а хелпа нет... То, что сделал выдаёт черезчёр огромные цифры, подскажите плиз
← →
markers © (2005-10-21 09:01) [4]Как ни пытаюсь, даёт противоречивые результаты, то в одной последовательности 0, то в другой последовательности очень большую цифру, подскажите плиз, (Почитал на мсдне)
Понял примерно так:
GetMenuItemRect(0,(Необходимо указать хендл менюхи, указываю большое число, аказываю хендл наследника итема даёт 0),0,Rec);
В чём я не прав?
Подскажите плиз?
Просто маленький пример!
← →
ShiFT (2005-10-21 09:33) [5]
var
r: TRect;
begin
GetMenuItemRect( Form1.handle, Popupmenu1.handle, 0, r);
Memo1.Lines.Clear;
Memo1.Lines.Add( "Width = " + IntToStr( r.Right - r.Left));
Memo1.Lines.Add( "Height = " + IntToStr( r.Bottom - r.Top));
end;
← →
markers © (2005-10-21 09:38) [6]Width = 0
Height = 0
????????????????????
← →
markers © (2005-10-21 09:40) [7]Ща попробую левую менюху сделать
← →
markers © (2005-10-21 09:43) [8]Сделал даже на клик кнопки другго нового попапа, всё-равно 0/0
Это уже становиться интересным:) В чём может быть проблема?
За пример спасибо!
← →
markers © (2005-10-21 09:46) [9]Кусок:
procedure TMainWindow.Button3Click(Sender: TObject);
var DepHeight:integer;
R:TRect;
LB:LongBool;
begin
LB:=GetMenuItemRect( MainWindow.handle, PopupMenu1.handle, 0, R);
ShowMessage(BoolToYesNo(LB)); //Возвращает да
Memo1.Lines.Clear;
Memo1.Lines.Add( "Width = " + IntToStr( r.Right - r.Left));
Memo1.Lines.Add( "Height = " + IntToStr( r.Bottom - r.Top));
end;
Delphi 6 SP2/Win XP SP2
← →
markers © (2005-10-21 09:46) [10]Кусок:
procedure TMainWindow.Button3Click(Sender: TObject);
var DepHeight:integer;
R:TRect;
LB:LongBool;
begin
LB:=GetMenuItemRect( MainWindow.handle, PopupMenu1.handle, 0, R);
ShowMessage(BoolToYesNo(LB)); //Возвращает да
Memo1.Lines.Clear;
Memo1.Lines.Add( "Width = " + IntToStr( r.Right - r.Left));
Memo1.Lines.Add( "Height = " + IntToStr( r.Bottom - r.Top));
end;
Delphi 6 SP2/Win XP SP2
← →
Loginov Dmitry © (2005-10-21 09:54) [11]Для TMainMemu функция GetMenuItemRect работает как надо, а для TPopupMenu нужно предварительно вызвать метод Popup и выбрать самому к.-л. пункт меню. Вот так.
← →
ShiFT (2005-10-21 09:56) [12]
procedure TForm1.MenuItemClick(Sender: TObject);
var
r: TRect;
begin
Memo1.Lines.Clear;
GetMenuItemRect( Form1.handle, Popupmenu1.handle, 0, r);
Memo1.Lines.Add( "Width = " + IntToStr( r.Right - r.Left)); // Width = 68
Memo1.Lines.Add( "Height = " + IntToStr( r.Bottom - r.Top)); // Height = 17
end;
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
Form1.PopupMenu := PopupMenu1;
for i := 0 to PopupMenu1.Items.Count -1 do
Popupmenu1.Items[i].OnClick := MenuItemClick;
end;
← →
markers © (2005-10-21 09:58) [13]Хм, чем дальше в лес, тем больше бутерброды.... Ох уж этот масдай со своими заморочками..... Сенкс! Буду рыть...
← →
markers © (2005-10-21 10:21) [14]Спасибо, вм ребята..... Это всё пригодиться, но до меня только что дошло, что есть путь проще Я юзаю TreeView, и у него есть такое свойство как попап, но у меня попап динамический (В зависимости от пункта) и я подумал, что событие ContextPopup с попапом раздельны (Не связаны)... Но к большому счастью это не там..... Так, что пускай лучше сам маздай всё считает..... Спасибо ещё раз!!! Рецепт пригодиться в любом случае!!!
Страницы: 1 вся ветка
Текущий архив: 2005.11.13;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.032 c