Layered windows don't flicker.
Without looking at your code I can tell that you are more than likely updating your window each time you redraw each button.
What you need to do is draw everything to the graphics and then update the window.
You can see from this example that even if you are drawing A LOT, there isn't really much issue.
.
Code: Select all
;****************************************************************************************************************************************************************************
#Include <My Altered GDIP lib> ;<---Gdip.ahk lib
#Include <PopUpWindow_V2> ;This was in one of my last posts
;****************************************************************************************************************************************************************************
#SingleInstance, Force
Gdip_Startup()
ScaleFactor := 1
Active := 0
Gui1 := New PopUpWindow( { AutoShow: 1 , X: "Center" , Y: "Center" , W: 600 * ScaleFactor , H: 160 * ScaleFactor , Options: " -DPIScale +AlwaysOnTop " } )
Gui1.DrawBitmap( HB_BITMAP_MAKER( ScaleFactor , Active ) , { X: 0 , Y: 0 , W: Gui1.W , H: Gui1.H } , dispose := 1 , 1 )
SetTimer, WatchCursor, 30
return
*ESC::ExitApp
F1::PopUpWindow.Helper()
WatchCursor:
MouseGetPos,,, win
if( !Active && win = Gui1.Hwnd ){
Active := 1
Gui1.DrawBitmap( HB_BITMAP_MAKER( ScaleFactor , Active ) , { X: 0 , Y: 0 , W: Gui1.W , H: Gui1.H } , dispose := 1 , 1 )
}else if( Active && win != Gui1.Hwnd ){
Active := 0
Gui1.DrawBitmap( HB_BITMAP_MAKER( ScaleFactor , Active ) , { X: 0 , Y: 0 , W: Gui1.W , H: Gui1.H } , dispose := 1 , 1 )
}
return
HB_BITMAP_MAKER( ScaleFactor := 1 , Active := 0 ){
;Bitmap Created Using: HB Bitmap Maker
pBitmap := Gdip_CreateBitmap( 600 * ScaleFactor , 160 * ScaleFactor ) , G := Gdip_GraphicsFromImage( pBitmap ) , Gdip_SetSmoothingMode( G , 2 )
;if active stuff for demo
;~ Brush := Gdip_BrushCreateSolid( "0xFF42464A" ) , Gdip_FillRoundedRectangle( G , Brush , 2 * ScaleFactor , 2 * ScaleFactor , 596 * ScaleFactor , 156 * ScaleFactor , 10 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( ( !Active ) ? ( "0xFF42464A" ) : ( "0xFF00FF00" ) ) , Gdip_FillRoundedRectangle( G , Brush , 2 * ScaleFactor , 2 * ScaleFactor , 596 * ScaleFactor , 156 * ScaleFactor , 10 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 5 * ScaleFactor , 3 * ScaleFactor , 494 * ScaleFactor , 152 * ScaleFactor , "0xFF92969a" , "0xFF12161a" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRoundedRectangle( G , Pen , 2 * ScaleFactor , 2 * ScaleFactor , 596 * ScaleFactor , 156 * ScaleFactor , 10 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xFF36373A" ) , Gdip_FillRectangle( G , Brush , 10 * ScaleFactor , 10 * ScaleFactor , 100 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
picBitmap := Gdip_CreateBitmapFromFile( "C:\Users\CivRe\OneDrive\Desktop\AHK Tools\BitMap Maker\HB Bitmap Maker Folder\Saved PNGs\0002.PNG" ) , Gdip_DrawImage( G , picBitmap , 15 * ScaleFactor , 40 * ScaleFactor , 29 * ScaleFactor , 21 * ScaleFactor , 0 , 0 , 29 , 21 ) , Gdip_DisposeImage( picBitmap )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "Activate" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 46 * ScaleFactor " y" 25 * ScaleFactor , "Segoe ui" , 60 * ScaleFactor , 50 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
picBitmap := Gdip_CreateBitmapFromFile( "C:\Users\CivRe\OneDrive\Desktop\AHK Tools\BitMap Maker\HB Bitmap Maker Folder\Saved PNGs\0004.PNG" ) , Gdip_DrawImage( G , picBitmap , 17 * ScaleFactor , 63 * ScaleFactor , 19 * ScaleFactor , 19 * ScaleFactor , 0 , 0 , 19 , 19 ) , Gdip_DisposeImage( picBitmap )
picBitmap := Gdip_CreateBitmapFromFile( "C:\Users\CivRe\OneDrive\Desktop\AHK Tools\BitMap Maker\HB Bitmap Maker Folder\Saved PNGs\0005.PNG" ) , Gdip_DrawImage( G , picBitmap , 17 * ScaleFactor , 85 * ScaleFactor , 19 * ScaleFactor , 19 * ScaleFactor , 0 , 0 , 19 , 19 ) , Gdip_DisposeImage( picBitmap )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_TextToGraphics( G , "True" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 45 * ScaleFactor " y" 48 * ScaleFactor , "Segoe ui" , 60 * ScaleFactor , 50 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "False" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 45 * ScaleFactor " y" 70 * ScaleFactor , "Segoe ui" , 60 * ScaleFactor , 50 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Pen := Gdip_CreatePen( "0xFF000000" , 1 ) , Gdip_DrawRectangle( G , Pen , 10 * ScaleFactor , 10 * ScaleFactor , 100 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 109 * ScaleFactor , 10 * ScaleFactor , 1 * ScaleFactor , 99 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 10 * ScaleFactor , 109 * ScaleFactor , 100 * ScaleFactor , 1 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;position panel
Brush := Gdip_BrushCreateSolid( "0xFF36373A" ) , Gdip_FillRectangle( G , Brush , 120 * ScaleFactor , 10 * ScaleFactor , 130 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Pen := Gdip_CreatePen( "0xFF000000" , 1 ) , Gdip_DrawRectangle( G , Pen , 120 * ScaleFactor , 10 * ScaleFactor , 130 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 249 * ScaleFactor , 10 * ScaleFactor , 1 * ScaleFactor , 99 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 120 * ScaleFactor , 109 * ScaleFactor , 130 * ScaleFactor , 1 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 132 * ScaleFactor , 72 * ScaleFactor , 110 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 130 * ScaleFactor , 70 * ScaleFactor , 110 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 131 * ScaleFactor , 70 * ScaleFactor , 108 * ScaleFactor , 31 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 131 * ScaleFactor , 71 * ScaleFactor , 108 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "Set Position" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 130 * ScaleFactor " y" 71 * ScaleFactor , "Segoe ui" , 110 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF22262A" ) , Gdip_FillRectangle( G , Brush , 130 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 132 * ScaleFactor , 29 * ScaleFactor , 49 * ScaleFactor , 31 * ScaleFactor , "0xFF3399FF" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRectangle( G , Pen , 130 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_TextToGraphics( G , "1234" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 130 * ScaleFactor " y" 33 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF22262A" ) , Gdip_FillRectangle( G , Brush , 190 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 132 * ScaleFactor , 29 * ScaleFactor , 49 * ScaleFactor , 31 * ScaleFactor , "0xFF3399FF" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRectangle( G , Pen , 190 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_TextToGraphics( G , "330" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 190 * ScaleFactor " y" 33 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF000000" ) , Gdip_TextToGraphics( G , "X" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 131 * ScaleFactor " y" 7 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "X" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 130 * ScaleFactor " y" 6 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF000000" ) , Gdip_TextToGraphics( G , "Y" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 191 * ScaleFactor " y" 7 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "Y" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 190 * ScaleFactor " y" 6 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;Color panel
Brush := Gdip_BrushCreateSolid( "0xFF36373A" ) , Gdip_FillRectangle( G , Brush , 260 * ScaleFactor , 10 * ScaleFactor , 110 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Pen := Gdip_CreatePen( "0xFF000000" , 1 ) , Gdip_DrawRectangle( G , Pen , 260 * ScaleFactor , 10 * ScaleFactor , 110 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 369 * ScaleFactor , 10 * ScaleFactor , 1 * ScaleFactor , 99 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 260 * ScaleFactor , 109 * ScaleFactor , 110 * ScaleFactor , 1 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 272 * ScaleFactor , 72 * ScaleFactor , 90 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 270 * ScaleFactor , 70 * ScaleFactor , 90 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 131 * ScaleFactor , 70 * ScaleFactor , 108 * ScaleFactor , 31 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 271 * ScaleFactor , 71 * ScaleFactor , 88 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "Set Color" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 270 * ScaleFactor " y" 71 * ScaleFactor , "Segoe ui" , 90 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF000000" ) , Gdip_TextToGraphics( G , "0xFF0000" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 261 * ScaleFactor " y" 7 * ScaleFactor , "Segoe ui" , 110 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "0xFF0000" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 260 * ScaleFactor " y" 6 * ScaleFactor , "Segoe ui" , 110 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF22262A" ) , Gdip_FillRectangle( G , Brush , 310 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 132 * ScaleFactor , 29 * ScaleFactor , 49 * ScaleFactor , 31 * ScaleFactor , "0xFF3399FF" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRectangle( G , Pen , 310 * ScaleFactor , 32 * ScaleFactor , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xFF22262A" ) , Gdip_FillRectangle( G , Brush , 270 * ScaleFactor , 30 * ScaleFactor , 30 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFFff0000" ) , Gdip_FillRoundedRectangle( G , Brush , 271 * ScaleFactor , 31 * ScaleFactor , 28 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 273 * ScaleFactor , 33 * ScaleFactor , 23 * ScaleFactor , 4 * ScaleFactor , "0x99F0F0F0" , "0x00000000" , 2 , 1 ) , Gdip_FillRectangle( G , Brush , 273 * ScaleFactor , 33 * ScaleFactor , 23 * ScaleFactor , 2 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 273 * ScaleFactor , 53 * ScaleFactor , 27 * ScaleFactor , 6 * ScaleFactor , "0x00F0F0F0" , "0x99000000" , 2 , 1 ) , Gdip_FillRectangle( G , Brush , 273 * ScaleFactor , 55 * ScaleFactor , 23 * ScaleFactor , 2 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_TextToGraphics( G , "0" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 310 * ScaleFactor " y" 33 * ScaleFactor , "Segoe ui" , 50 * ScaleFactor , 30 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;Button Panel
Brush := Gdip_BrushCreateSolid( "0xFF36373A" ) , Gdip_FillRectangle( G , Brush , 380 * ScaleFactor , 10 * ScaleFactor , 100 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 392 * ScaleFactor , 22 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 390 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 394 * ScaleFactor , 21 * ScaleFactor , 16 * ScaleFactor , 19 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 391 * ScaleFactor , 21 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "M" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 391 * ScaleFactor " y" 22 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 422 * ScaleFactor , 22 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 420 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 394 * ScaleFactor , 21 * ScaleFactor , 16 * ScaleFactor , 19 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 421 * ScaleFactor , 21 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "C" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 421 * ScaleFactor " y" 22 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 452 * ScaleFactor , 22 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 450 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 394 * ScaleFactor , 21 * ScaleFactor , 16 * ScaleFactor , 19 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 451 * ScaleFactor , 21 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399ff" ) , Gdip_TextToGraphics( G , "T" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 451 * ScaleFactor " y" 22 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 392 * ScaleFactor , 52 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 390 * ScaleFactor , 50 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 392 * ScaleFactor , 51 * ScaleFactor , 17 * ScaleFactor , 17 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 391 * ScaleFactor , 51 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "1" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 391 * ScaleFactor " y" 52 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 392 * ScaleFactor , 82 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 390 * ScaleFactor , 80 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 393 * ScaleFactor , 80 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 391 * ScaleFactor , 81 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "4" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 391 * ScaleFactor " y" 82 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 422 * ScaleFactor , 52 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 420 * ScaleFactor , 50 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 392 * ScaleFactor , 51 * ScaleFactor , 17 * ScaleFactor , 17 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 421 * ScaleFactor , 51 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "2" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 421 * ScaleFactor " y" 52 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 422 * ScaleFactor , 82 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 420 * ScaleFactor , 80 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 393 * ScaleFactor , 80 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 421 * ScaleFactor , 81 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "5" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 421 * ScaleFactor " y" 82 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 452 * ScaleFactor , 82 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 450 * ScaleFactor , 80 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 393 * ScaleFactor , 80 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 451 * ScaleFactor , 81 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "6" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 451 * ScaleFactor " y" 82 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;M Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 452 * ScaleFactor , 52 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 450 * ScaleFactor , 50 * ScaleFactor , 20 * ScaleFactor , 20 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 392 * ScaleFactor , 51 * ScaleFactor , 17 * ScaleFactor , 17 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 451 * ScaleFactor , 51 * ScaleFactor , 18 * ScaleFactor , 18 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xffF0F0F0" ) , Gdip_TextToGraphics( G , "3" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 451 * ScaleFactor " y" 52 * ScaleFactor , "Segoe ui" , 20 * ScaleFactor , 19 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Pen := Gdip_CreatePen( "0xFF000000" , 1 ) , Gdip_DrawRectangle( G , Pen , 380 * ScaleFactor , 10 * ScaleFactor , 100 * ScaleFactor , 100 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 479 * ScaleFactor , 10 * ScaleFactor , 1 * ScaleFactor , 99 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xaaF0F0F0" ) , Gdip_FillRectangle( G , Brush , 380 * ScaleFactor , 109 * ScaleFactor , 100 * ScaleFactor , 1 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;Copy Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 492 * ScaleFactor , 12 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 490 * ScaleFactor , 10 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 493 * ScaleFactor , 9 * ScaleFactor , 94 * ScaleFactor , 31 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 491 * ScaleFactor , 11 * ScaleFactor , 98 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399FF" ) , Gdip_TextToGraphics( G , "Copy" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 491 * ScaleFactor " y" 12 * ScaleFactor , "Segoe ui" , 100 * ScaleFactor , 29 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;Copy Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 492 * ScaleFactor , 47 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 490 * ScaleFactor , 45 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 489 * ScaleFactor , 45 * ScaleFactor , 102 * ScaleFactor , 29 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 491 * ScaleFactor , 46 * ScaleFactor , 98 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399FF" ) , Gdip_TextToGraphics( G , "Remove" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 491 * ScaleFactor " y" 47 * ScaleFactor , "Segoe ui" , 100 * ScaleFactor , 29 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;Copy Button
Brush := Gdip_BrushCreateSolid( "0x33000000" ) , Gdip_FillRoundedRectangle( G , Brush , 492 * ScaleFactor , 82 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF1D1D1D" ) , Gdip_FillRoundedRectangle( G , Brush , 490 * ScaleFactor , 80 * ScaleFactor , 100 * ScaleFactor , 30 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 493 * ScaleFactor , 82 * ScaleFactor , 99 * ScaleFactor , 27 * ScaleFactor , "0xFF72767a" , "0xFF32363a" , 1 , 1 ) , Gdip_FillRoundedRectangle( G , Brush , 491 * ScaleFactor , 81 * ScaleFactor , 98 * ScaleFactor , 28 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xff3399FF" ) , Gdip_TextToGraphics( G , "COM Line Info" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 491 * ScaleFactor " y" 82 * ScaleFactor , "Segoe ui" , 100 * ScaleFactor , 29 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
;edit
Brush := Gdip_BrushCreateSolid( "0xFF36373A" ) , Gdip_FillRoundedRectangle( G , Brush , 10 * ScaleFactor , 116 * ScaleFactor , 580 * ScaleFactor , 36 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 10 * ScaleFactor , 116 * ScaleFactor , 580 * ScaleFactor , 33 * ScaleFactor , "0x99F0F0F0" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRoundedRectangle( G , Pen , 10 * ScaleFactor , 116 * ScaleFactor , 580 * ScaleFactor , 35 * ScaleFactor , 5 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xFF22262A" ) , Gdip_FillRectangle( G , Brush , 15 * ScaleFactor , 121 * ScaleFactor , 570 * ScaleFactor , 26 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 13 * ScaleFactor , 120 * ScaleFactor , 573 * ScaleFactor , 26 * ScaleFactor , "0xff3399FF" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawRoundedRectangle( G , Pen , 15 * ScaleFactor , 121 * ScaleFactor , 570 * ScaleFactor , 25 * ScaleFactor , 0 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "Sample" , "s" 12 * ScaleFactor " Center vCenter Bold c" Brush " x" 15 * ScaleFactor " y" 121 * ScaleFactor , "Segoe ui" , 570 * ScaleFactor , 25 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0x9922262A" ) , Gdip_FillEllipse( G , Brush , 50 * ScaleFactor , 14 * ScaleFactor , 22 * ScaleFactor , 22 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_CreateLineBrushFromRect( 47 * ScaleFactor , 17 * ScaleFactor , 29 * ScaleFactor , 20 * ScaleFactor , "0xFF3399FF" , "0xFF000000" , 1 , 1 ) , Pen := Gdip_CreatePenFromBrush( Brush , 1 ) , Gdip_DeleteBrush( Brush ) , Gdip_DrawEllipse( G , Pen , 50 * ScaleFactor , 14 * ScaleFactor , 21 * ScaleFactor , 21 * ScaleFactor ) , Gdip_DeletePen( Pen )
Brush := Gdip_BrushCreateSolid( "0xFF000000" ) , Gdip_TextToGraphics( G , "1" , "s" 14 * ScaleFactor " Center vCenter Bold c" Brush " x" 22 * ScaleFactor " y" 16 * ScaleFactor , "Segoe ui" , 81 * ScaleFactor , 21 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Brush := Gdip_BrushCreateSolid( "0xFF3399FF" ) , Gdip_TextToGraphics( G , "1" , "s" 14 * ScaleFactor " Center vCenter Bold c" Brush " x" 21 * ScaleFactor " y" 15 * ScaleFactor , "Segoe ui" , 81 * ScaleFactor , 21 * ScaleFactor ) , Gdip_DeleteBrush( Brush )
Gdip_DeleteGraphics( G )
return pBitmap
}
That example also shows how you can go about dealing with DPI Scaling.