Diskuze: Pohyb s oknem

C# .NET .NET (C# a Visual Basic) Pohyb s oknem American English version English version

Avatar
Eldest
Redaktor
Avatar
Eldest:

Ahoj, muže mi někdo poradit? V „okenní“ aplikaci jsem úplně „ořezal“ všechny základní ovládací prvky a styl. Tlačítka na minimalizaci, maximalizaci a zavření jsem si udělal sám, ale problém mám s tím, jak okno posouvat. U klasického okna jde posunovat, když chytnu za horní lištu a táhnu, ale tu jak jsem již zmiňoval, smazal. Mohl by mi někdo poradit, jak s oknem posouvat, kdybych např. měl label a po kliknutí na něj a táhnutím by se okno posunovalo? Díky

 
Odpovědět 20.11.2012 17:52
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 20.11.2012 20:33
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Eldest
Redaktor
Avatar
Odpovídá na David Čápka
Eldest:

No já právě nevím, co z toho použít a když něco zkusím, tak mi to nefunguje (nevím, jak přesně to upravit, jak jsem psal).

 
Nahoru Odpovědět 21.11.2012 16:45
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Eldest
David Čápka:

Četl jsi to vlákno vůbec? Je tam link ke stažení: http://www.codeproject.com/…itlebar-in-C

Nahoru Odpovědět 21.11.2012 16:47
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Eldest
Redaktor
Avatar
Eldest:

Četl, ale nechci se kvůli tomu někam registrovat.

 
Nahoru Odpovědět 21.11.2012 16:53
Avatar
Theodor Johnson
Redaktor
Avatar
Nahoru Odpovědět 21.11.2012 16:55
Přecházím na "Cross-Platform Development"
Avatar
Eldest
Redaktor
Avatar
Odpovídá na Theodor Johnson
Eldest:

Díky, už jsem to vyřešil.

 
Nahoru Odpovědět 21.11.2012 16:56
Avatar
matesax
Redaktor
Avatar
Odpovídá na Eldest
matesax:

Doporučuji udělat si z toho objekt a ten volat:

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);
    }
}

Jako parametr "who" bude vlastnost Handle - Formu...

new MoveIsEnabled(Handle);
Editováno 21.11.2012 17:28
 
Nahoru Odpovědět 21.11.2012 17:26
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 8 zpráv z 8.