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

Вниз

Запрет удаления в Win 98, pop up меню ....   Найти похожие ветки 

 
SiDoff   (2004-12-17 09:15) [0]

Как программно сделать так, что бы по нажатию правой кнопки мыши ничего не происходило (pop up меню тоже не появлялось) в Win 98.

Как запретить удаление в Win 98 с помощью клавиш del, shift del,
Ctrl-X, или как подавить реакцию на эти клавиши.

Дайте пожалкйста реальные примеры.


 
-=SS=- ©   (2004-12-17 10:09) [1]

Какое popup menu ? В каком контроле ?
 Хотя ... можно переобределить PopupMenu ... подставив свой пустой, а на кнопки в обработчике onkeydown пишешь

inherited;
case  key of
 VK_Del : Key :=0;
 .......
end;


 
SiDoff   (2004-12-17 10:19) [2]

Речь идет о ЧУЖИХ приложениях (например тот же Проводник)!


 
SiDoff   (2004-12-17 10:21) [3]

И, кстати, как получить указатель на Pop up меню ? )))


 
SiDoff   (2004-12-17 10:21) [4]

И, кстати, как получить указатель на Pop up меню ? )))


 
SiDoff   (2004-12-17 10:23) [5]

И, кстати, как получить указатель на Pop up меню
допустим SHELLDLL_DefView32 проводника ? )))


 
-=SS=- ©   (2004-12-17 10:40) [6]

GetSystemMenu()


 
SiDoff   (2004-12-17 11:52) [7]

Ето ж системное меню. А мне надо pop up компонента на чужой форме!


 
SiDoff   (2004-12-17 11:54) [8]

Ето ж системное меню. А мне надо pop up компонента на чужой форме!


 
-=SS=- ©   (2004-12-17 13:17) [9]

Ну так используй handle компонента а не окна


 
SiDoff   (2004-12-17 13:36) [10]

Ну 0 возвращает GetMenu и GetSystemMenu

procedure TForm1.Button9Click(Sender: TObject);
var
HM    : hMenu;
HW,XW : HWND;
S     : string;
begin
SetLength(S,60);
HW:=GetWindow(FindWindow("ExploreWClass",nil),GW_CHILD);
if HW=0 then Exit;
while HW<>0 do
 begin
  GetClassName(HW,PChar(S),60);
  if Pos("SHELLDLL_DefView",S)<>0 then
   begin
    XW:=HW;
    Break;
   end;
  HW:=GetWindow(HW,GW_HWNDNEXT);
 end;
ShowMessage("Handle SHELLDLL_DefView -> "+IntToStr(XW));
HM:=GetMenu(XW);
ShowMessage(" GetMenu = "+IntToStr(HM));
HM:=GetSystemMenu(XW,FALSE);
ShowMessage(" GetSystemMenu = "+IntToStr(HM));
end;

Что я не так делаю ?



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

Форум: "WinAPI";
Текущий архив: 2005.02.06;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.038 c
3-1104315782
ceval
2004-12-29 13:23
2005.02.06
В свое время задовал вопрос если правельно будет


14-1105658183
Чеширский_Кот
2005-01-14 02:16
2005.02.06
что такое Cameo?


1-1106732291
Гость
2005-01-26 12:38
2005.02.06
case Integer of


14-1106125811
uny
2005-01-19 12:10
2005.02.06
почему она спрашивает?


9-1099655298
Ландграф Павел
2004-11-05 14:48
2005.02.06
У меня сменили пароль на ник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский