NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Neaktivní uživatel: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
Neaktivní uživatelský účet
Avatar
David Jančík
Vlastník
Avatar
Odpovídá na Neaktivní uživatel
David Jančík: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
Zapomeň, že je to nemožné a udělej to ;)
Avatar
Odpovídá na David Jančík
Neaktivní uživatel: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
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
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
Odpovídá na matesax
Neaktivní uživatel: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
Neaktivní uživatelský účet
Avatar
matesax
Tvůrce
Avatar
Odpovídá na Neaktivní uživatel
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
Nahoru Odpovědět
12.1.2013 8:35
Neaktivní uživatelský účet
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.