Registriert seit: 29. Jun 2010
Ort: Neustrelitz
393 Beiträge
Delphi 7 Enterprise
|
AW: Virtual Piano
7. Jun 2011, 10:38
So, nicht das Du denkst ich mach nichts mehr
Ich bin voll dabei, hier schon mal 1 von vielen, was ich anders mache:
Original
Delphi-Quellcode:
if FVisible then
begin
// Aktualisiere die labels
for IntA := StartX to StartX + XSize do
begin
if (IntA mod Value) = 0 then
begin
GetClientRect(TopBarFrame.Handle, rc);
DC := GetDC(TopBarFrame.Handle);
GDIP_CreateFromHDC( DC, Graphics);
SKAERO_SplitColorARGB($000000, Alpha, Red, Green, Blue);
GDIP_FillRect(Graphics, (IntA - StartX) * 16, rc.Top, rc.Right, rc.Bottom,
SKAERO_ColorARGB(254, RGB(Red, Green, Blue)));
SKAERO_DrawTextToDC( DC, IntToStr((IntA div Value) + 1), (IntA - StartX) *
12 + TopBarOffset,
rc.Top - 2, SKAERO_BTNTEXTCOLOR, SKAERO_TEXTFONT, 10, 0, 0);
GDIP_DeleteGraphics(Graphics);
ReleaseDC(SideBarFrame.Handle, DC);
end;
end;
end;
Und hier mal das geänderte:
Delphi-Quellcode:
if FVisible then
begin
// Aktualisiere die labels
GetClientRect(TopBarFrame.Handle, rc);
DC := GetDC(TopBarFrame.Handle);
GDIP_CreateFromHDC( DC, Graphics);
SKAERO_SplitColorARGB($000000, Alpha, Red, Green, Blue);
GDIP_FillRect(Graphics, rc.Left, rc.Top, rc.Right, rc.Bottom,
SKAERO_ColorARGB(254, RGB(Red, Green, Blue)));
for IntA := StartX to StartX + XSize do
begin
if (IntA mod GridZahlenPos) = 0 then
begin
SKAERO_DrawTextToDC( DC, IntToStr((IntA div GridZahlenPos) + 1), (IntA - StartX) *
24 + TopBarOffset,
rc.Top - 2, SKAERO_BTNTEXTCOLOR, SKAERO_TEXTFONT, 10, 0, 0);
end;
end;
GDIP_DeleteGraphics(Graphics);
ReleaseDC(SideBarFrame.Handle, DC);
end;
Durch diese Veränderung wird dein Prog natürlich schneller beim neuzeichnen!
Am schwersten ist natürlich Deine magische 12 und 1000
Aber die hab ich zum Teil schon auseinandergenommen
Für die neue Umsetztung ist diese magische 12 nicht mehr so wichtig, da bei der neuen Variante nun auch 32tel bei 1/4 zu sehen sind
Bis auf weiteres
Gruss alfold
Geändert von alfold ( 7. Jun 2011 um 10:47 Uhr)
|