Goos Geschrieben 13. September 2002 Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 Grüß Dich! Hab ich das jetzt richtig verstanden, dass Du wissen willst an welchem Scrollbar der AW grade rumpopelt? GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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. GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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! GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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. GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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- GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 ...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 Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 .....und dummerweise komm ich halt irgendwie nicht an die Scrollbars ran Goos Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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! Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 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 Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 Hm, da ist was dran! Und wenn Du die Dinger per Hand da einbaust? (CSrollBar) GREETZ ******** * Fiesek * ******** Zitieren
Klotzkopp Geschrieben 13. September 2002 Geschrieben 13. September 2002 Über einen Vergleich der von GetTotalSize und GetClientRect gelieferten Werte sollte sich ermittlen lassen, ob die Scrollbalken angezeigt werden. Zitieren
Fiesek Geschrieben 13. September 2002 Geschrieben 13. September 2002 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! GREETZ ******** * Fiesek * ******** Zitieren
Goos Geschrieben 13. September 2002 Autor Geschrieben 13. September 2002 Danke Klotzkopp.....so laesst sichs machen :OD ...und auch ein Dank an Fiesek fuer die Seitenweisen Bemuehungen Goos Zitieren
Empfohlene Beiträge
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.