نمایش نتایج 1 تا 2 از 2

نام تاپیک: از کار انداختن غیر قابل حرکت بودن فرم

  1. #1

    از کار انداختن غیر قابل حرکت بودن فرم

    2 هفته پیش دنبال این بودم که بشه فرم را غیر قابل حرکت کرد بدون borderstyle . حالا کدشا یکی از دوستان فکر کنم جناب (bermooda( لطف کردند و یک لینک دادند که کارما حل کرد - حالا میخوام روی یک دکمه که کاربر زد فرم را بشه تغییر داد- اینم کدهای اون لینک
    معذرت میخوام که دوتا پست درست شد-شرمنده
    [DllImport("user32.dll", SetLastError=true)]
    public static extern Int32 EnableMenuItem ( System.IntPtr hMenu , Int32
    uIDEnableItem, Int32 uEnable);
    private const Int32 HTCAPTION = 0X00000002;
    private const Int32 MF_BYCOMMAND =0X00000000;
    private const Int32 MF_ENABLED =0X00000000;
    private const Int32 MF_GRAYED =0X00000001;
    private const Int32 MF_DISABLED =0X00000002;
    private const Int32 SC_MOVE = 0XF010;
    private const Int32 WM_NCLBUTTONDOWN = 0XA1;
    private const Int32 WM_SYSCOMMAND = 0X112;
    private const Int32 WM_INITMENUPOPUP = 0X117;
    protected override void WndProc(ref System.Windows.Forms.Message m )
    {
    if( m.Msg == WM_INITMENUPOPUP ) //handles popup of system menu
    if ((m.LParam.ToInt32() / 65536) != 0 ) // 'divide by 65536 to get hiword
    {
    Int32 AbleFlags = MF_ENABLED;
    //if (!Moveable)
    AbleFlags = MF_DISABLED | MF_GRAYED; // disable the move
    }

    EnableMenuItem(m.WParam, SC_MOVE, MF_BYCOMMAND);

    if(m.Msg==WM_NCLBUTTONDOWN) //cancels the drag this is IMP
    {
    if(m.WParam.ToInt32()==HTCAPTION)
    return;
    }

    if (m.Msg==WM_SYSCOMMAND) // Cancels any clicks on move menu
    {
    if ((m.WParam.ToInt32() & 0xFFF0) == SC_MOVE)
    return;
    }
    base.WndProc(ref m);
    }

  2. #2

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •