Diskuze: Vlastní border u formu
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Tvůrce
Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Přepíšeš událost Form OnPaint. Ale musíš mít hodně představivost. Mrkni třeba sem: http://www.codeproject.com/…op-down-in-C
Už to tam vše mám, border jsem si udělal jako PictureBox s background color, jen tomu potřebuji nastavit aby se s tím dalo hejbat
Poněkud zbytečné - OnPaint by byl rozhodně lepší... Posouvání okna bez borderu se tu řešilo 1000x...
using System.Runtime.InteropServices;
using System;
public class MoveIsEnabled
{
public const int WM_NCLBUTTONDOWN = 0xA1, HT_CAPTION = 0x2;
[DllImportAttribute("user32.dll")]
public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam);
[DllImportAttribute("user32.dll")]
public static extern bool ReleaseCapture();
public MoveIsEnabled(IntPtr who)
{
ReleaseCapture();
SendMessage(who, WM_NCLBUTTONDOWN, HT_CAPTION, 0);
}
}
Použití:
new MoveIsEnabled(Handle);
Handle je vlastnost Formu - ano - je to jen pro Forms...
možná hloupý dotaz...
kam s tím
new MoveIsEnabled(Handle);
To je objekt - tedy kamkoliv, kam shromažďuješ své objekty... Pokud myslíš, kde to použít - kdykoliv zavoláš new MoveIsEnabled(Handle); a myš je dole, tak dokud bude dole, budeš moci hýbat s oknem... Takže třeba do nějakého MouseDown...
Zobrazeno 7 zpráv z 7.