Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Daniel Vítek:11.1.2013 21:06

Zdravím,
chtěl bych si udělat vlastní border u Formu...
nastavím FormBorderStyle na None, co dál ??

 
Odpovědět 11.1.2013 21:06
Avatar
Odpovídá na Daniel Vítek
David Jančík [sczdavos]:11.1.2013 21:23

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

Nahoru Odpovědět 11.1.2013 21:23
Čím více času dostaneš, tím méně ho máš.
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na David Jančík [sczdavos]
Daniel Vítek:11.1.2013 21:32

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

 
Nahoru Odpovědět 11.1.2013 21:32
Avatar
matesax
Redaktor
Avatar
Odpovídá na Daniel Vítek
matesax:11.1.2013 22:58

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...

 
Nahoru Odpovědět 11.1.2013 22:58
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na matesax
Daniel Vítek:12.1.2013 8:23

možná hloupý dotaz...
kam s tím
new MoveIsEnabled(Han­dle);

 
Nahoru Odpovědět 12.1.2013 8:23
Avatar
matesax
Redaktor
Avatar
Odpovídá na Daniel Vítek
matesax:12.1.2013 8:31

To je objekt - tedy kamkoliv, kam shromažďuješ své objekty... Pokud myslíš, kde to použít - kdykoliv zavoláš new MoveIsEnabled(Han­dle); a myš je dole, tak dokud bude dole, budeš moci hýbat s oknem... Takže třeba do nějakého MouseDown...

 
Nahoru Odpovědět 12.1.2013 8:31
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
 
Nahoru Odpovědět 12.1.2013 8:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 7 zpráv z 7.