Главная страница
    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.47 MB
Время: 0.048 c
1-1106651082
GanibalLector
2005-01-25 14:04
2005.02.06
ООП


14-1105739482
Ломброзо
2005-01-15 00:51
2005.02.06
Экскурс в Java


3-1104183652
sergik
2004-12-28 00:40
2005.02.06
BDE и Oracle


4-1103123827
-=SS=-
2004-12-15 18:17
2005.02.06
Можно ли по ID просесса узнать хендл окна этого просесса ?


6-1100863537
AlekseyUpstar
2004-11-19 14:25
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский