Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Moin,

....ansich sollte das ja nicht so schwer sein, aber ich steh wohl grad aufm Schlauch und hoffe, dass mir jemand helfen kann.

Mein Problem ist folgendes:

In einer CScrollView werden ja nach Fenstergroesse und ZoomFaktor horizontale und/oder vertikale Scrollbars eingeblendet.

Ich wuerd nun gern wissen, wie ich erfahren kann, ob bzw. welche Scrollbars gerade aktiv sind.

Goos

Geschrieben

Ne ich will wissen, welche Scrollbar gerade ueberhaupt vorhanden, bzw sichtbar ist.

Kann ja auch mal passieren, das mein Dokument klein genug ist und ich dann keine Scrollbars hab.

Goos :D

Geschrieben

Schau Dir doch mal die class members von CView an, ich hab da eine Methode OnActivateView() gefunden, vieleicht kannst Du die ja für Deine Zwecke nutzbar machen.

:P GREETZ :P

********

* Fiesek *

********

Geschrieben

Muss ich jetzt verstehen, was du da meinst? Was bitte sollte ich mit ner OnActivateView Methode anfangen koennen?!? (...naja bei meinem Problem mein ich) :eek:

....erklaer doch mal, wie du das meinst.....vielleicht bringts ja doch was, wenngleich ich auch nicht daran glauben kann ;)

Goos :D

Geschrieben

Naja, gemäß MFC ist CSrollview eine erbende Klasse von CView, oder?

Da kannst Du doch mit Deinem Object vom Typ CScrollView afragen, ob es aktiv ist poder nicht.

Als Rückgabewert bekommst Du dann ein TRUE oder FALSE!

Ich hab das so verstanden, dass Du immer abfragen willst, ob die Scrollbars da sind oder nicht, richtig?

Dann frag es doch ab, es ist doch eine Variante des CView!

Naja, zugegeben ist es über 4 Ecken, aber funzen müsste es vieleicht!

:P GREETZ :P

********

* Fiesek *

********

Geschrieben

Vielleicht sollt ich mein Problem aber auch anders schildern.

...ich versuchs mal.....

wenn man in einer CScrollview ScrollToPosition() aufruft, dann kann man bei vorhandnen Scrollbars im Bereich dieser Scrollbars scrollen, wenn aber keine Scrollbars vorhanden sind, weil das Dokument gerade zu klein ist, dann laesst sich halt nicht wie zu erwarten waere gar nicht scrollen, sondern man kann scrollen bis Australien (was nicht gut sein kann ;) )

Aus diesem Grund muss ich halt rausfinden, obs grad Scrollbars hat oder auch nicht.

Goos

Geschrieben

Ja, und ich hätte halt nach erstellen, des Dokumentes das Erstellen der Scrollbars in eine BOOL-Variablen gesetzt und diesen Wert für Deine Methodenausführung vorher abgefragt.

:P GREETZ :P

********

* Fiesek *

********

Geschrieben

Das waer wohl gut und schoen, wenn ich die Scrollbars auch irgendwie erstellen wuerde, aber das macht CScrollView ja von selbst. Das is doch das "praktische" an der Sache *g* :)

Goos

Geschrieben

ich meine das so:

erstelle dokument;

Wenn in Dokument Scrollviews aktiviert worden sind ( wenn Du welche aktiviert hast [OnActivateView(BOOL bActivate, CView* pActivateView, CView* pDeactiveView ) setze Varaiable a auf TRUE;

else FALSE;

dann if a==true

ScrollToPosition() ;

else

garnix!;

-ENDE-

:P GREETZ :P

********

* Fiesek *

********

Geschrieben

...ach und die Scrollbars sind keine CView Variante....die sind immernoch CScrollbars wuerd ich sagen.

Es ist vielmehr so, dass CScrollview von CView stammt und halt schon irgendwo die Scrollbars implementiert hat.

Goos

Geschrieben
Original geschrieben von Goos

...ach und die Scrollbars sind keine CView Variante....die sind immernoch CScrollbars wuerd ich sagen.

Es ist vielmehr so, dass CScrollview von CView stammt und halt schon irgendwo die Scrollbars implementiert hat.

Goos

Richtig, und Du kannst Dir doch die Methoden Deiner base-class zunutze machen, wenn Du sagst: wenn es aktiviert wird, dann stze variable sonst nix!

Geschrieben

Ich glaub du verstehst mich nicht *heul* ;) ...naja oder vielleicht auch umgekehrt *g*

Es bringt mir leider nix, zu wissen, dann meine CScrollview aktiv ist, denn ne CScrollview hat ja nicht zwingend Scrollbars, die scrollt ja auch nur, wenns noetig wird....also braeucht ich dann doch irgendwie den Status der Scrollbars, oder ich braeucht zumindest ne Methode um Pointer auf meine Scrollbars zu kriegen......leider hab ich da noch nix passendes gefunden.

Goos

So nu geh ich erstmal was essen....vielleicht bringt mich das ja dann auch schon weiter :)

Geschrieben
Original geschrieben von Klotzkopp

Über einen Vergleich der von GetTotalSize und GetClientRect gelieferten Werte sollte sich ermittlen lassen, ob die Scrollbalken angezeigt werden.

Du meinst also, aktuelle Auflösung verglichen mit der Dokumentgröße?

Das könnte ein Lösungsweg sein!

:P GREETZ :P

********

* Fiesek *

********

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...