Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[C#] Autoscroll op een panel

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Een probleempje betreffende de panel. Als je de optie "autoscroll" aanzet op het panel, en je zet er een object in die groter is dan de panel, dan komen er scrollbars bij, logisch dus.

Nu als je met het scrollwheel van de muis scrolt kun je deze scrollbars bedienen. Maar dit is nu net wat ik niet wil. Hoe kan ik ervoor zorgen dat de scrollbars niet luisteren naar de scrolwheel?

Ik heb al geprobeerd van de van OnMouseWheel te overriden, maar dit heeft geen effect. Zou dit mogelijk zijn? Google leverde me geen resultaten op, mss iemand van jullie die dit weet?

Bedankt

C#:
1
2
3
4
protected override void OnMouseWheel(MouseEventArgs e)
{
      //base.OnMouseWheel(e);
}

Verwijderd

Kijk eens naar een message filter op application niveau.

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:52

TeeDee

CQB 241

Google leverde me geen resultaten op, mss iemand van jullie die dit weet?
Hoe en waarop heb je gezocht? Leverde dat geen aanwijzingen op?

Ik zou eens Googlen naar WM_MOUSEWHEEL, WndProc.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 19:49

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-11 18:33
Mag ik vragen waarom je het default gedrag van een scrollwheel zou willen veranderen? Normaal gesproken is dat nl een user interface "wtf" :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.


Verwijderd

Topicstarter
Dit is inderdaad denk ik wat ik zoek, maar heb jammergenoeg geen abbo op deze site :(
farlane schreef op dinsdag 15 april 2008 @ 22:24:
Mag ik vragen waarom je het default gedrag van een scrollwheel zou willen veranderen? Normaal gesproken is dat nl een user interface "wtf" :)
Het is inderdaad user interface, maar ik zou willen dat het scrollwheel dient als "zoom" tool, en niet als scrolltool .. daarmee dus
TeeDee schreef op dinsdag 15 april 2008 @ 15:59:
[...]

Hoe en waarop heb je gezocht? Leverde dat geen aanwijzingen op?

Ik zou eens Googlen naar WM_MOUSEWHEEL, WndProc.
Ik heb al gezocht opt "disable mousewheel", "override mouse event " etc.. maar leverde me niets op.

De WM_MOUSEWHEEL zal ik eens bekijken, bedankt

[ Voor 60% gewijzigd door Verwijderd op 16-04-2008 09:25 ]


  • DrDelete
  • Registratie: Oktober 2000
  • Laatst online: 19:49
Verwijderd schreef op woensdag 16 april 2008 @ 09:23:
[...]


Dit is inderdaad denk ik wat ik zoek, maar heb jammergenoeg geen abbo op deze site :(


[...]


Het is inderdaad user interface, maar ik zou willen dat het scrollwheel dient als "zoom" tool, en niet als scrolltool .. daarmee dus


[...]


Ik heb al gezocht opt "disable mousewheel", "override mouse event " etc.. maar leverde me niets op.

De WM_MOUSEWHEEL zal ik eens bekijken, bedankt
ik heb ook geen abbo op die site, je moet ff wachten, na 10 sec moet je helemaal naar beneden scrollen

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:52

TeeDee

CQB 241

* TeeDee heeft daar wel een abo account, en nog nooit iets moeten betalen. Heb eigenlijk die constructie van EE nooit gesnapt. Maar goed, even integraal (voor de zekerheid) plaatsen.
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
protected override void WndProc(ref Message m)
{
      switch(m.Msg)
      {
            case WM_MOUSEWHEEL:
                  if (ScrollInner(m)== true)
                            return;
                  else
                      break;
      }

      base.WndProc (ref m); //pass the wheel up to the container panel
}

This WndProc can be put into the custom control inside the panel. The function will intercept ALL windows messages to the control. Then the code is setup to pickup any messages that are of the type WM_MOUSEWHEEL. If so, then it calls a private function to scroll the inner control. I'm not sure how you do that, I tried but couldn't get it right away. Anyway, if the inner method determines that it doesn't need to scroll anymore, then it can return false and the message will get passed up to parent panel. Otherwise, if true, it eats the message and the parent panel shouldn't scroll.

Hope it helps..

Paul

Heart..pumps blood.Has nothing to do with emotion! Bored


  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
TeeDee schreef op woensdag 16 april 2008 @ 09:53:
* TeeDee heeft daar wel een abo account, en nog nooit iets moeten betalen. Heb eigenlijk die constructie van EE nooit gesnapt. Maar goed, even integraal (voor de zekerheid) plaatsen.

[...]
Het mooie van EE is dat ze je proberen te laten betalen voor content die (met wat geduld) gewoon op de pagina staat; kwestie van helemaal naar beneden scrollen en dan heb je geen abbo nodig ;) De 'nep antwoorden' die halverwege de pagina staan zijn er puur en alleen om je te laten lappen voor stuff die ze (wegens cloaking penalties) op dezelfde pagina ongecloaked neer moeten zetten.

Ze verdoezelen het echter dusdanig goed dat veel mensen snel geneigd zijn te lappen :P Waar ik meer schurft aan heb is dat heel Google vergeven is van de links naar EE terwijl IMHO de content niet echt zoveel links rechtvaardigt. Zoek iets dat met PC's te maken heeft en geheid dat je op pag. 1 of 2 op google tussen je resultaten al EE links aantreft.

[ Voor 36% gewijzigd door RobIII op 16-04-2008 10:16 ]

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 31-10 11:58
RobIII schreef op woensdag 16 april 2008 @ 10:12:
[...]

Het mooie van EE is dat ze je proberen te laten betalen voor content die (met wat geduld) gewoon op de pagina staat; kwestie van helemaal naar beneden scrollen en dan heb je geen abbo nodig ;) De 'nep antwoorden' die halverwege de pagina staan zijn er puur en alleen om je te laten lappen voor stuff die ze (wegens cloaking penalties) op dezelfde pagina ongecloaked neer moeten zetten.

Ze verdoezelen het echter dusdanig goed dat veel mensen snel geneigd zijn te lappen :P Waar ik meer schurft aan heb is dat heel Google vergeven is van de links naar EE terwijl IMHO de content niet echt zoveel links rechtvaardigt. Zoek iets dat met PC's te maken heeft en geheid dat je op pag. 1 of 2 op google tussen je resultaten al EE links aantreft.
Ik kom er dus ook nu pas achter dat het blijkbaar wél te lezen is. Eerder wist ik wel dat je naar beneden moest scrollen, maar sinds met die gemaskeerde antwoorden kwamen heb ik nooit meer aan antwoord van EE gehaald omdat ik dus dacht dat het niet meer beschikbaar was.

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 19:52

TeeDee

CQB 241

offtopic:
* TeeDee had een autologin, dus die gekke gemaskeerde antwoorden kreeg ik nooit te zien ;), vandaar mijn verbaasde opmerking.

Heart..pumps blood.Has nothing to do with emotion! Bored


  • farlane
  • Registratie: Maart 2000
  • Laatst online: 16-11 18:33
Hehe, ik kies bij google altijd de in-cache links :)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.

Pagina: 1