AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Ordnung muss sein (LaunchBar)
Thema durchsuchen
Ansicht
Themen-Optionen

Ordnung muss sein (LaunchBar)

Ein Thema von EWeiss · begonnen am 17. Mai 2017 · letzter Beitrag vom 14. Nov 2021
Antwort Antwort
Seite 1 von 2  1 2      
EWeiss
(Gast)

n/a Beiträge
 
#1

Ordnung muss sein (LaunchBar)

  Alt 17. Mai 2017, 20:50
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 04:47 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

AW: Ordnung muss sein

  Alt 18. Mai 2017, 06:35
Hier ein paar System Folder GUIDS.

Diese kann man auf diese weise einfügen.
"explorer.exe, Computer, @PATH@UserIcon\48x48\Computer.png, @PATH@, /N;::{20d04fe0-3aea-1069-a2d8-08002b30309d}, 1'"

hinzufügen von Festplatten geht so.
"explorer.exe, Win7(C:), @PATH@UserIcon\48x48\HD.png, @PATH@, C:\, 1'"

Hinzufügen einer normalen Anwendung via Path.
"c:\program files (x86)\imploded software\helium 12\helium.app.exe, Helium 12, @PATH@UserIcon\48x48\Helium.png, C:\Program Files (x86)\Imploded Software\Helium 12, , 1'"
oder
"c:\program files (x86)\imploded software\helium 12\helium.app.exe, Helium 12, @PATH@UserIcon\48x48\Helium.png, @PATH@, , 1'"
Wenn das Arbeitsverzeichnis das gleiche ist wie das des EXE Pfades.

gruss

Geändert von EWeiss (11. Jul 2019 um 19:25 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.379 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Ordnung muss sein

  Alt 18. Mai 2017, 07:23
Unter Windows 10 bleibt die Leiste leer (ich habe extra eine Verknüpfung auf dem Desktop angelegt vorher). Klicke ich mit rechts drauf, stürzt die Anwendung ab.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Ordnung muss sein

  Alt 18. Mai 2017, 07:26
Unter Windows 10 bleibt die Leiste leer (ich habe extra eine Verknüpfung auf dem Desktop angelegt vorher). Klicke ich mit rechts drauf, stürzt die Anwendung ab.
Schade..

gruss
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#5

AW: Ordnung muss sein

  Alt 18. Mai 2017, 08:08
Funktioniert bei mir unter Win10 (Arbeite als Domänenadmin). Icons sind da, Programme lassen sich starten, verschieben der Bar ist möglich. Absturz bei Rechtsklick hab ich allerdings auch. Danach ist das Programm geschlossen und es sind alle Icons vom Desktop weg (unkontrollierter Ausstieg - also völlig logisch). Wenn ich das Programm hingegen mit Alt+F4 beende tauchen sie ordungsgemäß wieder auf an der Stelle wo ich sie über meine drei Bildschirme verteilt hatte. Sehr schön!

Offenbar nur ne Kleinigkeit mit dem Kontextmenü.

[Edit]Ach, und mein Virenscanner schlägt an beim Start. Nur so als Info. Kennt man ja. Muss ja nichts heissen...[/Edit]

Toni
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?

Geändert von Tonic1024 (18. Mai 2017 um 08:17 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Ordnung muss sein

  Alt 18. Mai 2017, 08:13
Funktioniert bei mir unter Win10 (Arbeite als Domänenadmin). Absturz bei rechtsklick hab ich allerdings auch.

Toni
sorry hab kein Win10 kann da nix machen.
Das einzige was ich machen kann MadExept einbinden und sehen was die Log dazu sagt.
Habs mal angehängt allerdings sind die EXE dadurch um einiges größer.


eigentlich öffnet sich da nur das Menu warum das unter W10 Probleme macht kann ich nicht sagen.
Schade..

Zitat:
Ach, und mein Virenscanner schlägt an beim Start. Nur so als Info. Kennt man ja. Muss ja nichts heissen...
Ich verwende nichts was einen False Alarm auslösen könnte Kein WShell Scrip oder ähnliches.

gruss

Geändert von EWeiss (11. Jul 2019 um 15:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.379 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Ordnung muss sein (LaunchBar)

  Alt 14. Jun 2017, 12:39
Der Absturz beim Rechtsklick bei Windows 10 kommt von dieser Zeile (uMain.pas Zeile 961):
Delphi-Quellcode:
                  GDIP_DrawImageRectRectI(Graphics, ImgBack, ImgItemHeight, PDis.rcItem.Top,
                    Rect.Right - SideBarWidth, ImgItemHeight, 0, PDis.rcItem.Top *
                      (Integer(imgH) div Rect.Bottom), imgW, (Integer(imgH) div Rect.Bottom)
                      * ImgItemHeight, 2, nil, false, nil);
Rect ist leider leer, deshalb funktioniert die Division durch Rect.Bottom nicht.
Das liegt daran, dass WindowFromDC(PDis.HDC) 0 zurückliefert.

Ohne die Zeile wird das Menü angezeigt, allerdings wird der aktuelle Eintrag nach dem Hovern nicht wieder zurückgesetzt, sprich nach einmal Drüberfahren sehen alle gehovert aus.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#8

AW: Ordnung muss sein (LaunchBar)

  Alt 14. Jun 2017, 12:49
Der Absturz bei Windows 10 kommt von dieser Zeile (uMain.pas Zeile 961):
Delphi-Quellcode:
                  GDIP_DrawImageRectRectI(Graphics, ImgBack, ImgItemHeight, PDis.rcItem.Top,
                    Rect.Right - SideBarWidth, ImgItemHeight, 0, PDis.rcItem.Top *
                      (Integer(imgH) div Rect.Bottom), imgW, (Integer(imgH) div Rect.Bottom)
                      * ImgItemHeight, 2, nil, false, nil);
Rect ist leider leer, deshalb funktioniert die Division durch Rect.Bottom nicht.
Das liegt daran, dass WindowFromDC(PDis.HDC) 0 zurückliefert.
Danke dir für die Info.
Was kann man da machen?

Warum WindowFromDC jetzt 0 unter W10 zurück gibt ist mir schleierhaft.

Habe den Source nochmal aktualisiert da auch in CreateShortCut ein Problem mit dem Free vorlag.

vorher
Delphi-Quellcode:
constructor TShortCut.Create;
begin

  AddChildWindows();
  CreateIcon := TCreateIcon.Create;
end;
Delphi-Quellcode:
  if Assigned(Sprites) then
  begin
    if (Sprites.Count - 1) > ID_MAIN then
    begin
      for K := ID_FIRST to Sprites.Count - 1 do
      begin
        if Sprites[K].h_Bitmap <> 0 then
        begin
          DeleteObject(Sprites[K].h_Bitmap);
          Sprites[K].h_Bitmap := 0;
        end;
      end;
      Sprites.Free;
      AddChildWindows;
    end;
  end;
und jetzt
Delphi-Quellcode:
constructor TShortCut.Create;
begin

  CreateIcon := TCreateIcon.Create;
end;
Delphi-Quellcode:
  if Assigned(Sprites) then
  begin
    Sprites.Free;
    AddChildWindows;
  end else
  AddChildWindows;
Zitat:
Ohne die Zeile wird das Menü angezeigt, allerdings wird der aktuelle Eintrag nach dem Hovern nicht wieder zurückgesetzt, sprich nach einmal Drüberfahren sehen alle gehovert aus.
Nein, nein die brauchen wir weil sonst die Button zum selektieren der Einträge nicht neu gezeichnet werden.
Das Hintergrund Bitmap sorgt dafür das ein Invalidate auf das Menu ausgeführt wird.


gruss

Geändert von EWeiss (14. Jun 2017 um 13:44 Uhr)
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#9

AW: Ordnung muss sein (LaunchBar)

  Alt 14. Jun 2017, 13:30
Zitat:
WindowFromDC(PDis.HDC)
Versuch mal bitte
Wenn du Lust und zeit dafür hast.

Prop.hPopupMenu := FindWindow('#32768', nil);

Das Problem ist das die Handles von Menus dynamisch sind.
Das Handle Prop.hPopupMenu
Delphi-Quellcode:
    WM_RBUTTONDOWN:
      begin
        nObjectID := GetMouseMoveSpriteID(WinHandle, lpX, lpY);
        if nObjectID = 0 then
        begin
          Prop.hPopupMenu := CreatePopupMenu; // Bitmap Popupmenu
          if Prop.hPopupMenu <> 0 then
          begin
ist nicht das gleiche wie unter
Delphi-Quellcode:
    WM_DRAWITEM:
      begin
        PDis := Pointer(lP);
        case PDis^.CtlType of
          ODT_MENU:
            begin
              //Prop.hPopupMenu := WindowFromDC(FromDC);
              Prop.hPopupMenu := FindWindow('#32768', nil);
              Txt := PWideChar(GetMenuTxt(PDis.ItemId, Img, ImgHover, SideBarImg));
wäre es so dann brauchte ich es nicht neu zu initialisieren.

Funktioniert unter W7
Das müsste auch unter W10 gehen.

gruss

Geändert von EWeiss (14. Jun 2017 um 13:49 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.379 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Ordnung muss sein (LaunchBar)

  Alt 14. Jun 2017, 13:55
Ja, das funktioniert.

Es gibt noch einen minimalen Grafikfehler, wenn man das erste Mal mit der Maus über das Menü geht (da sieht man verschobene Schrift), aber sonst funktioniert das Kontextmenü dann.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz