AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte Dimmed Sample
Thema durchsuchen
Ansicht
Themen-Optionen

Dimmed Sample

Ein Thema von EWeiss · begonnen am 28. Mär 2012 · letzter Beitrag vom 31. Mär 2012
Antwort Antwort
Seite 3 von 4     123 4      
EWeiss
Projekt entfernt..

Geändert von EWeiss (24. Jul 2019 um 06:01 Uhr)
 
EWeiss
 
#21
  Alt 30. Mär 2012, 01:14
Neue Version oben!
Siehe History

Über WM_NCACTIVATE VirtualPiano mit Dimmed.dll


gruss

Geändert von EWeiss (11. Jul 2019 um 16:41 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

 
RAD-Studio 2009 Ent
 
#22
  Alt 30. Mär 2012, 10:16
Hi...

Muss gestehen ich hab mich den Code grad nicht so genau angeschaut aber die Demo scheint Probleme mit Multi-Monitor Betrieb zu haben.

Die rechte Hälfte des Forms wurde auf dem rechten Monitor dargestellt.

Achja: Vista32

Gruß,

Toni
Miniaturansicht angehängter Grafiken
aufzeichnen.png  
  Mit Zitat antworten Zitat
EWeiss
 
#23
  Alt 30. Mär 2012, 14:43
Hi...

Muss gestehen ich hab mich den Code grad nicht so genau angeschaut aber die Demo scheint Probleme mit Multi-Monitor Betrieb zu haben.

Die rechte Hälfte des Forms wurde auf dem rechten Monitor dargestellt.

Achja: Vista32

Gruß,

Toni
Ohne weiteres möglich
Denn wer braucht so was hab nur einen Monitor und kanns nicht testen.

gruss
  Mit Zitat antworten Zitat
Medium

 
Delphi 2007 Enterprise
 
#24
  Alt 30. Mär 2012, 14:51
Denn wer braucht so was hab nur einen Monitor und kanns nicht testen.
Das ist unter Entwicklern mittlerweile ja fast schon eher der Regelfall! Ich würd nie wieder ohne wollen. Ist doch einfach nett, wenn man DB Schema oder die gerade gebrauchte Doku zur Seite schieben kann und damit nicht den Editor verdeckt, oder den OI und Projektmetadaten ausgedockt aufm 2. Moni - macht das Designen von fullscreen Anwendungen deutlich angenehmer. Wer braucht das schon... pft.
  Mit Zitat antworten Zitat
Gustav.R
 
#25
  Alt 30. Mär 2012, 15:46
[OT]

Gerade in einem alten Projekt (Delphi 5) gefunden:

Delphi-Quellcode:
procedure TeilGrau(b: TBitmap; stufe: byte);
var
  sp1: byte;
  x, y: integer;
  p: PBytearray;
  g: byte;
  function rech(b: byte): byte;
  begin
    result := (b * stufe + g) div sp1;
  end;
begin
  sp1 := succ(stufe);
  for y := 0 to b.height - 1 do
  begin
    p := b.scanline[y];
    x := 0;
    while x < b3 do
    begin
      g := (p[x] + p[x + 1] + p[x + 2]) div 3;
      p[x] := rech(p[x]);
      p[x + 1] := rech(p[x + 1]);
      p[x + 2] := rech(p[x + 2]);
      inc(x, 3);
    end;
  end;
end;

procedure TFormCountDown.MakeDesktopGray(Zeit: Integer);
var
  x, y, z: integer;
  dwStyle: DWord;
  dc, ddc: HDC;
  hbm: HBitmap;
  bmp: TBitmap;
  // b3: integer;
  geschwindigkeit: integer;
begin
  geschwindigkeit := 200;
  dc := createDC('DISPLAY', nil, nil, nil);
  // --- Bildschirm in einer Bitmap sichern ---
  ddc := CreateCompatibleDC(dc);
  hbm := CreateCompatibleBitmap(dc, screen.width, screen.height);
  selectobject(ddc, hbm);
  BitBlt(ddc, 0, 0, screen.width, screen.height, dc, 0, 0, srcCopy);
  // -------------------------------------------
  bmp := TBitmap.create;
  bmp.pixelformat := pf24bit;
  bmp.width := screen.width;
  bmp.height := screen.height;
  b3 := screen.width * 3;
  BitBlt(bmp.canvas.handle, 0, 0, screen.width, screen.height, dc, 0, 0,
    srcCopy);
  z := 255 - geschwindigkeit;
  y := round(2.5 * z / sqrt(z));
  x := 1;
  while x < y do
  begin
    TeilGrau(bmp, z div x);
    BitBlt(dc, 0, 0, screen.width, screen.height, bmp.canvas.handle, 0, 0,
      srcCopy);
    application.processmessages;
    sleep(10);
    inc(x);
  end;
  // etwas den grauen Bildschirm stehen lassen
  sleep(2000);
  // Wiederherstellen des farbigen Desktops
  BitBlt(dc, 0, 0, screen.width, screen.height, ddc, 0, 0, srcCopy);
  // freigeben
  bmp.free;
  deleteobject(hbm);
  deletedc(ddc);
  deletedc(dc);
end;
K.A. wo ich das damals herhatte und ob's bei zwei Monitoren auch klappt

GG
[/OT]
  Mit Zitat antworten Zitat
Benutzerbild von Der.Kaktus
Der.Kaktus

 
Delphi 7 Enterprise
 
#26
  Alt 30. Mär 2012, 15:51
Denn wer braucht so was hab nur einen Monitor und kanns nicht testen.
Das ist unter Entwicklern mittlerweile ja fast schon eher der Regelfall! Ich würd nie wieder ohne wollen. Ist doch einfach nett, wenn man DB Schema oder die gerade gebrauchte Doku zur Seite schieben kann und damit nicht den Editor verdeckt, oder den OI und Projektmetadaten ausgedockt aufm 2. Moni - macht das Designen von fullscreen Anwendungen deutlich angenehmer. Wer braucht das schon... pft.
man kanns auch uebertreiben...wenn Du dann mal Windows 8 nutzt..brauchste 4 Monitore..weil die Kacheln net auf 2 passen
  Mit Zitat antworten Zitat
EWeiss
 
#27
  Alt 30. Mär 2012, 16:03
Zitat:
Gerade in einem alten Projekt (Delphi 5) gefunden:
Es geht um ein bißchen mehr als nur den Desktop Grau zu faden.
Alleine schon aufgrund der neuen Desktop Umgebung AktiveDesktop, Desktop usw..
ist das schon zum scheitern verurteilt.. bzw muss man noch eine menge mehr machen.
Der Grund meiner DLL ist dieser das sie auch von anderen Sprachen verwendet werden kann.

Dazu ist es nur von nöten das man die beiden funktionen auf andere umgebungen übersetzt.
Zitat:
man kanns auch uebertreiben...wenn Du dann mal Windows 8 nutzt..brauchste 4 Monitore..weil die Kacheln net auf 2 passen
Es ist bestimmt machbar aber nicht von mir da ich es nicht testen kann.
Schreibe nur Quelltext den ich auch selber überprüfen kann.

Aber hab nichts dagegen wenn es noch jemand anderes einbaut der 2 Monitore hat.

gruss

Geändert von EWeiss (30. Mär 2012 um 16:05 Uhr)
  Mit Zitat antworten Zitat
Alt 30. Mär 2012, 16:29     Erstellt von Gustav.R
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Alt 30. Mär 2012, 16:58     Erstellt von EWeiss
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Alt 30. Mär 2012, 18:32     Erstellt von Gustav.R
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Alt 30. Mär 2012, 18:41     Erstellt von EWeiss
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Alt 30. Mär 2012, 18:57     Erstellt von Medium
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Alt 30. Mär 2012, 19:11     Erstellt von Gustav.R
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
EWeiss
 
#28
  Alt 30. Mär 2012, 19:21
Dimmed VB6

Modul mDimmed
Code:
Option Explicit

Public Declare Function GetDesktopWindow Lib "user32" () As Long

Public Declare Function FadeCreate Lib "Dimmed.dll" ( _
    ByVal WinHandle As Long, _
    ByVal FadeTime As Long, _
    ByVal clLight As Long, _
    ByVal clDark As Long _
) As Boolean

Public Declare Sub FadeDestroy Lib "Dimmed.dll" ()
Public Declare Sub InitCommonControls Lib "comctl32" ()
Form Form1
Code:
Option Explicit

Private Initialize As Boolean

Private Sub cmdDimmed_Click()
 
   Initialize = FadeCreate(Me.hWnd, 3500, RGB(255, 255, 255), RGB(0, 0, 0))
   
End Sub

Private Sub cmdDimmedDesktop_Click()
 
  Initialize = FadeCreate(GetDesktopWindow, 3500, RGB(255, 255, 255), RGB(0, 0, 0))
 
End Sub

Private Sub Form_Load()
 
  Call InitCommonControls
  Me.Caption = "Dimmed Sample " + "DLLVers. " + Dimmed_GetVersion
 
End Sub

Private Sub Form_Unload(Cancel As Integer)
 
  If Initialize Then
      FadeDestroy
  End If
 
End Sub
Neue Version oben incl. VB6 API und Sample
Nur damit jetzt jeder weis warum eine DLL

VB6.exe 100K Delphi.exe 1MB
Zum vergleich..

gruss

Geändert von EWeiss (31. Mär 2012 um 14:59 Uhr)
  Mit Zitat antworten Zitat
Alt 30. Mär 2012, 19:25     Erstellt von Gustav.R
Dieser Beitrag wurde von mkinzler gelöscht. - Grund: Offtopic
Christian Seehase

 
Delphi 11 Alexandria
 
#29
  Alt 30. Mär 2012, 21:42
Moin Emil,

Neue Version oben incl. VB6 API und Sample
Nur damit jetzt jeder weis warum eine DLL

VB6.exe 100K Delphi.exe 1MB
Zum vergleich..
Nur damit die Ergebnisse vergleichbar bleiben:
Ist die Delphi-Exe auch mit Runtime-Packages compiliert worden?
  Mit Zitat antworten Zitat
EWeiss
 
#30
  Alt 30. Mär 2012, 21:44
Zitat:
Nur damit die Ergebnisse vergleichbar bleiben:
Ist die Delphi-Exe auch mit Runtime-Packages compiliert worden?]
Ja und ich weiss auch das dies das problem der größe ist.
Danke für die richtigstellung.

gruss

Geändert von EWeiss (30. Mär 2012 um 22:03 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


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 10:38 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