Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];

Вниз

Высота и ширина 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.035 c
3-1128068250
KeyC
2005-09-30 12:17
2005.11.13
Direct access to MS Access


2-1129797980
kami
2005-10-20 12:46
2005.11.13
Не переопределяется тип поля в Access


14-1129981353
DelphiN!
2005-10-22 15:42
2005.11.13
Цветовые схемы редактора кода Delphi


1-1129798274
Dimedrol
2005-10-20 12:51
2005.11.13
Автоматизация и контроль над Internet Explorer


2-1130220071
btr
2005-10-25 10:01
2005.11.13
Расскажите про WideString





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский