26-02-2008, 17:17
|
|
אדמין לשעבר
|
|
חבר מתאריך: 25.10.01
הודעות: 20,292
|
|
זה מעט בעייתי...
יש כל מני פתרונות עוקפים כשאתה משחק עם הControlBox, אבל אין משהו מושלם.
עד חלונות Vista, היה פתרון די נפוץ:
קוד:
[DllImport("User32")]
private static extern int RemoveMenu(IntPtr hMenu, int nPosition, int wFlags);
[DllImport("User32")]
private static extern IntPtr GetSystemMenu(IntPtr hWnd, bool bRevert);
[DllImport("User32")]
private static extern int GetMenuItemCount(IntPtr hWnd);
public void DiableClose(Form frm)
{
IntPtr hMenu = GetSystemMenu(frm).Handle, false);
int menuItemCount = GetMenuItemCount(hMenu);
RemoveMenu(hMenu, menuItemCount - 1, 0x400);
}
בXP זה ייראה כך:
אבל בVista, בגלל הממשק החדש, זה ייראה כך:
ז"א - הכפתור ייראה כאילו הוא פעיל. בפועל - לחיצה עליו לא תעשה דבר.. אבל זה מטעה.
_____________________________________
דורון
|