Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

Grüß Dich!

Hab ich das jetzt richtig verstanden, dass Du wissen willst an welchem Scrollbar der AW grade rumpopelt?

:P GREETZ :P

********

* Fiesek *

********

  • Autor

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

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 *

********

  • Autor

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

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 *

********

  • Autor

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

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 *

********

  • Autor

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

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 *

********

  • Autor

...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

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!

  • Autor

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 :)

Hm, da ist was dran!

Und wenn Du die Dinger per Hand da einbaust?

(CSrollBar)

:P GREETZ :P

********

* Fiesek *

********

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 *

********

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.