ScrollBar – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

ScrollBar – .NET – Fórum – Programujte.comScrollBar – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tomas
~ Anonymní uživatel
510 příspěvků
30. 10. 2013   #1
-
0
-

Zdravim,

Neviem ako vyvolat udalost u ScrollBaru pri scrolovani vtedy ked uzivatel pusti tlacitko mysi. Chcel som skombinovat klasicku udalost pre scrolovanie s udalostou mouseclick pripadne up/down, ale tieto udalost scrollbar nema. Potrebujem to preto, lebo scrolujem velke mnozstvo dat a klasicka udalost pre scrolovanie sa vola za kazdym ako nastane zmena pozicie scrollera co je v mojom pripade pomale. Chcel by som aby sa mi nove data nacitali az ked uzivatel ukonci scrolovanie. Ako na to?

Nahlásit jako SPAM
IP: 2001:470:58f0:0:8534:fe54...–
Reklama
Reklama
ingiraxo+15
Grafoman
30. 10. 2013   #2
-
+1
-
Zajímavé

No, to bude trochu problém. Ta oblast se scollbarem je speciální a nefungujou na ní klasické události, takže to musíš řešit více mimo samotnej framework 

udělej si novou komponentu a na ní tohle naimplementuj (tu logiku se scollbarem), ty události stisknutí a uvolnění myši můžou být třeba takto

    public partial class UserControl1 : RichTextBox
    {
        public event Action ScrollMouseDown = delegate { };
        public event Action ScrollMouseUp = delegate { };
        private bool lastDown = false;

        public UserControl1()
        {
            InitializeComponent();
        }

        protected override void WndProc(ref Message m)
        {
            // HScroll, VScroll
            if (m.Msg == 0x114 || m.Msg == 0x115)
                return;

            // pokud se kurzor nachází na scrollbaru
            if (m.WParam == (IntPtr)7)
            {
                if (m.Msg == 0xA1)
                {
                    lastDown = false;
                    ScrollMouseDown();
                }
                else
                {
                    if (!lastDown)
                    {
                        lastDown = true;
                        ScrollMouseUp();
                        
                        // zde je potreba jeste vyresit posun scollbaru
                    }
                }
            }
            base.WndProc(ref m);
        }
    }
Nahlásit jako SPAM
IP: 93.90.162.–
Moje aplikace: http://ophite.cz
Tutoriály na: C#
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 104 hostů

Podobná vlákna

ScrollBar — založil DeathHumanCZ

Scrollbar — založil Jakub Vojáček

Vertikalni scrollbar — založil tribalcz

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý