Hilfe, Nachrichtenfenster nicht mehr sichtbar!
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Aus einem unerfindlichen Grund (wahrscheinlich habe ich das Fenster im Eifer des Gefechtes zu weit an die Seite gedrängt - oder was könnte sonst der Grund sein?) ist seit ein paar Tagen das Nachrichtenfenster nicht mehr sichtbar. Ich kann es zwar über das Menü "Fenster" oder "Ansicht" aktivieren (kann es sogar in Windows (habe Win7, Lazurus 1.1, FPC 2.71) über die Tastenkombination ALT-TAB als Element mit dem Lazaruslogo sehen, aber ich habe keinerlei Möglichkeit darauf zuzugreifen, um es wieder sichtbar zu machen.
Weiß einer eine Lösung? Vielleicht in die "Innereien" von Lazarus eingreifen und da bei den Fenstern eine zusätzliche Tastenkombination (SHIFT-CTRL-ALT-W o.ä.) einfügen, die bewirkt, daß das aktive Fenster, falls es unsichtbar ist, sichtbar wird, so daß man darauf zugreifen kann).
Bin dankbar für jede Hilfe.
Weiß einer eine Lösung? Vielleicht in die "Innereien" von Lazarus eingreifen und da bei den Fenstern eine zusätzliche Tastenkombination (SHIFT-CTRL-ALT-W o.ä.) einfügen, die bewirkt, daß das aktive Fenster, falls es unsichtbar ist, sichtbar wird, so daß man darauf zugreifen kann).
Bin dankbar für jede Hilfe.
-
- Beiträge: 323
- Registriert: Di 12. Apr 2011, 13:21
- OS, Lazarus, FPC: WinXP + VMWare Player mit Fedora14, L 1.1, FPC 2.7.1
- CPU-Target: 1core 1,8GHz 32Bit
- Wohnort: Fürth
- Kontaktdaten:
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Hallo,
ich kann Dir leider nicht helfen. Wenn man wüsste, wo Lazarus die Fensterposition speichert, könnte man sie editieren.
Für meine eigenen Projekte hab ich mir Funktionen geschrieben (LoadFormFromIni, SaveFormToIni, LoadFormFromReg, SaveFormToReg), deren Funktionalität ich auch den Lazarus Entwicklern ans Herz legen würde: In LoadFormFrom... wird die Fensterposition nicht ungeprüft übernommen, sondern korrigiert, falls das Fenster nicht im sichtbaren Bereich von Screen zu liegen kommen würde.
Heiner
ich kann Dir leider nicht helfen. Wenn man wüsste, wo Lazarus die Fensterposition speichert, könnte man sie editieren.
Für meine eigenen Projekte hab ich mir Funktionen geschrieben (LoadFormFromIni, SaveFormToIni, LoadFormFromReg, SaveFormToReg), deren Funktionalität ich auch den Lazarus Entwicklern ans Herz legen würde: In LoadFormFrom... wird die Fensterposition nicht ungeprüft übernommen, sondern korrigiert, falls das Fenster nicht im sichtbaren Bereich von Screen zu liegen kommen würde.
Heiner
- m.fuchs
- Lazarusforum e. V.
- Beiträge: 2805
- Registriert: Fr 22. Sep 2006, 19:32
- OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
- CPU-Target: x86, x64, arm
- Wohnort: Berlin
- Kontaktdaten:
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Code: Alles auswählen
Werkzeuge -> Einstellungen -> Umgebung -> Fenster
hth
Micha
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Vielleicht noch eine einfachere Möglichkeit: im Menü "Fenster" einen weiteren Eintrag: sichtbar zentrieren", so daß das entsrechende Fenster dann in der Mitte des Bildschirms sichtbar zentriert wird.
Weiß jemand, welche Komponenten dafür "zuständig" sind?
Weiß jemand, welche Komponenten dafür "zuständig" sind?
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Eigentlich gabs zu dem Thema auch inige Bug Reports, einen davon hatte sogar ich mal geschrieben, evtl müsste man da mal wieder einen Aufmachen ...
Evtl probierst du mal Manual Dock aus, das bindet das Nachrichtenfenster in das Source Fenster ein, so wie man es von Delphi her kannte ( zumindest wars bei D5 so *g*).
Evtl probierst du mal Manual Dock aus, das bindet das Nachrichtenfenster in das Source Fenster ein, so wie man es von Delphi her kannte ( zumindest wars bei D5 so *g*).
--
Just try it
Just try it
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Ich habe zwar schon ewig kein Windows mehr aber als ich mal ein Fenster aus dem Desktop geschoben hatte, ging ich einfach über das Fenstermenü. Also Fenster auswählen mit Alt+Tab, die Taste zum öffnen des Fenstermenüs klicken (weiß gerade nicht, welche das ist. Zu lange her
), dann auf den Menüpunkt "verschieben" oder "bewegen" gehen (mit der Kurzwegtaste - welche das ist, einfach in einem sichtbaren Fenster nachgucken) und dann das Fenster mit den Pfeiltasten wieder in den Desktop bewegen.
Nachtrag: Oh, ich habe hier einen Schnitt von einem Beitrag pro Jahr
... Bekam eben noch den Tipp, einfach unten in der Taskleiste beim Fenster "verschieben" auszuwählen. Und dann halt mit den Pfeiltasten verschieben.

Nachtrag: Oh, ich habe hier einen Schnitt von einem Beitrag pro Jahr

... Bekam eben noch den Tipp, einfach unten in der Taskleiste beim Fenster "verschieben" auszuwählen. Und dann halt mit den Pfeiltasten verschieben.
-
- Beiträge: 244
- Registriert: Do 21. Jan 2010, 22:33
- OS, Lazarus, FPC: Windows Vista (L 0.9.31 FPC 2.5.1)
- CPU-Target: 32Bit
- Wohnort: z.z. Brasilien, sonst 82335 Berg-Leoni (südlich von München)
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar! -- GELÖST !
Lazarus – Nachrichtenfenster unsichtbar
Ich hatte vergessen zu sagen, dass dieser Fehler nicht beim „normalen“ Lazarus auftritt, sondern beim Lazarus, wie es CodeTyphon mitgeliefert wird (ansonsten ein ausgezeichnetes Programm mit vielen eingebauten Hilfsprogrammen und schon vorinstallierten Lazarus-Packages fremder Anbieter, Freeware und sehr zu empfehlen!)
Erst einmal suchte ich (im normalen Lazarus) nach der Tastenkombination (’Shift+Strg+W’), die zu Beginn des Fenster-Menüs erscheint.
Mit der Suche nach dem virtual key VK_W wurde ich schließlich fündig in der Unit KeyMapping in der
procedure TKeyCommandRelation.GetDefaultKeyForWindowsScheme
beim Eintrag des EditorCommand, der im FensterMenü zum Aufruf des Fenstermanagers verwendet wird):
und in mainbar.pas die Prefixe der anderen Menüs:
mnuWindow --> Fenster
mnuView --> Ansicht
mit dem Window-Menu kam ich nicht klar, da fand ich keine Möglichkeit, da irgendetwas anzuhängen (einen weiteren Eintrag Menuitem, weil alle die Fenster miteinander mit vordefinierten commands zusammenhängen). Mir scheint das höchst kompliziert zu sein und ließe sich wahrscheinlich auch einfacher programmieren, aber die Schöpfer von Lazarus werden schon wissen, was sie tun...
Im Ansicht-Menü fand ichund dort beim 3. Eintrag ( = Nachrichten):
Die Suche nach ViewMessage führte mich zur Unit MsgView:
zum
und in in der Unit Main zu:
d.h. Nachrichten-Fenster = MessagesView !
Und schließlich fand ich:d.h. hier werden die Startwerte des Nachrichtenfensters angegeben, wenn es erstellt wird (unterhalb des QuelltextEditors = Source Editor oder alleine) die ich dann nur zu kopieren brauche, um mit einem ShortCut das Fenster wieder neu so zentriert zu zeigen.
Aber da scheint mir doch ein kleiner Fehler zu sein:
Rect(ScreeR.Left+250, ScreenR.Bottom-200, ScreenR.Right-250, 100)
ergibt keinen rechten Sinn: da ist ja der Wert für top größer als der für Bottom, es muß wohl heißen ScreenR.Bottom-100 anstatt nur 100
(War das vielleicht der Grund, daß das Fenster unsichtbar blieb?)
Ich muß also eine Prozedur suchen mit KeyDown, von der aus ich den Reset aufrufen kann, am besten innerhalb der Prozedur vor dem begin;
In Lazarus wird die Form MessagesView immer mit ShowModal aufgerufen. Was ist der Unterschied zu Show? Soll ich das dann hier auch schreiben?
Ich versuchte es mit TMainIDE, mit dem QuellcodeFenster, Lazarus neu kompiliert, ---> Ergebnis immer das gleiche: bleibt unsichtbar.
Was könnte ich da noch tun? Wo oder was könnte der Wurm sein?
-------------------------------------
Habe noch ein wenig herumprobiert, plötzlich bekam ich zumindest den oberen Rand des Nachrichtenfensters zu fassen und konnte das Fenster nach oben ziehen! (Wie kann man es machen, daß in Windows die untere Taskbar zum Verschwinden kommt? Es scheint nämlich, daß sich das Fenster dahinter versteckt hatte).
Habe gesehen, daß beim Starten die Daten aus environmentoptions.xml geladen werden, und da fand ich
für SourceNotebook: (Bounds) 307, 206, 914, 581 und für MessagesView: 306, 826, 913, 90.
Änderte die Angaben um in 307, 206, 914, 381 und: 306, 726, 913, 90,
also Quellcode-Fensterhöhe -200, NachrichtenFenster-Top -100 ,
Jetzt wurde das QuellCode-Fenster auch etwas kleiner dargestellt und erschien dahinter auch das Nachrichtenfenster!
Wie muß man die Einstellungen machen, daß jedes Mal beim Beenden die Fenstergrößen gespeichert werden, daß ich nicht von Hand die Angaben in environmentoptions.xml vornehmen muß?
--------------------------------------------------
Fand aber doch einen Bug in Lazarus (normal und CodeTyphon).
Wenn kein Nachrichtenfenster da ist, dann kann man es nur mit dem Fenster-Menu aufrufen (nur da erscheint der Eintrag "Nachrichten"), aber das (erstellt und) aktiviert nicht die Nachrichten, sondern das Quellcode-Fenster. Erst wenn es dann mit dem Fenster-Menü aufgerufen wird, dann wird es aktiviert.
Aber jetzt kann ich wenigstens wieder normal arbeiten.
Herzlichen Dank für alle geuten Ratschläge.
Ich hatte vergessen zu sagen, dass dieser Fehler nicht beim „normalen“ Lazarus auftritt, sondern beim Lazarus, wie es CodeTyphon mitgeliefert wird (ansonsten ein ausgezeichnetes Programm mit vielen eingebauten Hilfsprogrammen und schon vorinstallierten Lazarus-Packages fremder Anbieter, Freeware und sehr zu empfehlen!)
Erst einmal suchte ich (im normalen Lazarus) nach der Tastenkombination (’Shift+Strg+W’), die zu Beginn des Fenster-Menüs erscheint.
Mit der Suche nach dem virtual key VK_W wurde ich schließlich fündig in der Unit KeyMapping in der
procedure TKeyCommandRelation.GetDefaultKeyForWindowsScheme
beim Eintrag des EditorCommand, der im FensterMenü zum Aufruf des Fenstermanagers verwendet wird):
Code: Alles auswählen
Case command of
....
// window menu
ecWindowManager: SetSingle(VK_W,[ssShift,ssCtrl]);
mnuWindow --> Fenster
mnuView --> Ansicht
mit dem Window-Menu kam ich nicht klar, da fand ich keine Möglichkeit, da irgendetwas anzuhängen (einen weiteren Eintrag Menuitem, weil alle die Fenster miteinander mit vordefinierten commands zusammenhängen). Mir scheint das höchst kompliziert zu sein und ließe sich wahrscheinlich auch einfacher programmieren, aber die Schöpfer von Lazarus werden schon wissen, was sie tun...
Im Ansicht-Menü fand ich
Code: Alles auswählen
procedure TMainIDEBase.SetupViewMenu;
Code: Alles auswählen
CreateMenuItem(ParentMI,
itmViewMessage,'itmViewMessage',lisMenuViewMessages);
Code: Alles auswählen
TMessagesView = class(TIDEMessagesWindowInterface)
Code: Alles auswählen
constructor TMessagesView.Create(TheOwner: TComponent):
Name := NonModalIDEWindowNames[nmiwMessagesViewName]; // ==> = NachrichtenFenster
Caption := lisMenuViewMessages;
Code: Alles auswählen
procedure TMainIDE.CreateIDEWindow(Sender: TObject; aFormName: string; var
AForm: TCustomForm; DoDisableAutoSizing: boolean);
…
if ItIs(NonModalIDEWindowNames[nmiwMessagesViewName]) then
AForm:=MessagesView
Und schließlich fand ich:
Code: Alles auswählen
procedure TMainIDE.OnGetLayout(Sender: TObject; aFormName: string; out
aBounds: TRect; out DockSibling: string; out DockAlign: TAlign);
...
if (aFormName=NonModalIDEWindowNames[nmiwMessagesViewName]) then begin
// place messages below source editor
ScreenR:=IDEWindowCreators.GetScreenrectForDefaults;
if SourceEditorManager.SourceWindowCount>0 then begin
SrcEditWnd:=SourceEditorManager.SourceWindows[0];
aBounds:=GetParentForm(SrcEditWnd).BoundsRect;
aBounds.Top:=aBounds.Bottom+25;
aBounds.Bottom:=aBounds.Top+100;
end else begin
aBounds:=Rect(ScreenR.Left+250,ScreenR.Bottom-200,ScreenR.Right-250,100);
end;
Aber da scheint mir doch ein kleiner Fehler zu sein:
Rect(ScreeR.Left+250, ScreenR.Bottom-200, ScreenR.Right-250, 100)
ergibt keinen rechten Sinn: da ist ja der Wert für top größer als der für Bottom, es muß wohl heißen ScreenR.Bottom-100 anstatt nur 100
(War das vielleicht der Grund, daß das Fenster unsichtbar blieb?)
Ich muß also eine Prozedur suchen mit KeyDown, von der aus ich den Reset aufrufen kann, am besten innerhalb der Prozedur vor dem begin;
Code: Alles auswählen
Procedure xxxKeyDown (Sender: TObject; var Key: Word; Shift: TShiftState);
var ....
Procedure DoResetMessagesView;
Var R, ScreenR:TRect;
begin
ScreenR:=IDEWindowCreators.GetScreenrectForDefaults;
with ScreenR do R:=Rect(Left+250, Bottom-200, Right-250, Bottom-100);
With R do MessagesView.SetBounds(left, top, right-left, bottom-top);
MessagesView.Show;
end;
begin
if (key=VK_Z) and (ssShift in Shift) and (ssCtrl in Shift) then
begin
DoResetMessagesView;
exit;
else
begin ...
end
end;
Ich versuchte es mit TMainIDE, mit dem QuellcodeFenster, Lazarus neu kompiliert, ---> Ergebnis immer das gleiche: bleibt unsichtbar.
Was könnte ich da noch tun? Wo oder was könnte der Wurm sein?
-------------------------------------
Habe noch ein wenig herumprobiert, plötzlich bekam ich zumindest den oberen Rand des Nachrichtenfensters zu fassen und konnte das Fenster nach oben ziehen! (Wie kann man es machen, daß in Windows die untere Taskbar zum Verschwinden kommt? Es scheint nämlich, daß sich das Fenster dahinter versteckt hatte).
Habe gesehen, daß beim Starten die Daten aus environmentoptions.xml geladen werden, und da fand ich
für SourceNotebook: (Bounds) 307, 206, 914, 581 und für MessagesView: 306, 826, 913, 90.
Änderte die Angaben um in 307, 206, 914, 381 und: 306, 726, 913, 90,
also Quellcode-Fensterhöhe -200, NachrichtenFenster-Top -100 ,
Jetzt wurde das QuellCode-Fenster auch etwas kleiner dargestellt und erschien dahinter auch das Nachrichtenfenster!
Wie muß man die Einstellungen machen, daß jedes Mal beim Beenden die Fenstergrößen gespeichert werden, daß ich nicht von Hand die Angaben in environmentoptions.xml vornehmen muß?
--------------------------------------------------
Fand aber doch einen Bug in Lazarus (normal und CodeTyphon).
Wenn kein Nachrichtenfenster da ist, dann kann man es nur mit dem Fenster-Menu aufrufen (nur da erscheint der Eintrag "Nachrichten"), aber das (erstellt und) aktiviert nicht die Nachrichten, sondern das Quellcode-Fenster. Erst wenn es dann mit dem Fenster-Menü aufgerufen wird, dann wird es aktiviert.
Aber jetzt kann ich wenigstens wieder normal arbeiten.
Herzlichen Dank für alle geuten Ratschläge.
Re: Hilfe, Nachrichtenfenster nicht mehr sichtbar!
Mit der rechten Mauste, Einstellungen, "Taskleiste automatisch asblenden" anhaken ..br_klaus hat geschrieben:Wie kann man es machen, daß in Windows die untere Taskbar zum Verschwinden kommt?
oder einfach oben, rechts oder links andocken