Announcement

Collapse
No announcement yet.

Win 10 Caption color

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Win 10 Caption color

    How do you change a dialogs caption background color? (in Win 10 it's horrible white, would like blue back...)
    Regards,
    Peter

  • #2
    Can try the code i posted in another recent thread - https://forum.powerbasic.com/forum/u...881#post795881

    Comment


    • #3
      Thanks,

      Still strange that visual appearance gets worse with every new Windows version...
      (It's very dull and poor visibility with everything white or off-white...)
      Regards,
      Peter

      Comment


      • #4
        Settings
        Personalization
        Colors
        Go to Choose your accent color section
        Select one of the Windows Colors

        Comment


        • #5
          Hi Peter,
          I have modified Borje's code with drawing an internal dialog border and tested it out in Windows10 and it sure looks great
          than original windows 10 dialog

          Code:
          #COMPILE EXE
          #DIM ALL
          #INCLUDE "WIN32API.INC"
          
           #RESOURCE MANIFEST, 1, "XPTheme.xml"
          
          
          '====================================================================
          FUNCTION PBMAIN () AS LONG
            LOCAL hDlg AS DWORD
          
            DIALOG NEW 0, "XP-style Dlg in Win10",,, 200, 140, %WS_CAPTION OR %WS_SYSMENU OR _
                       %WS_THICKFRAME OR %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX, 0 TO hDlg
          
            DIALOG SET COLOR  hDlg, %RGB_MEDIUMBLUE , %RGB_LIGHTYELLOW
          
            DIALOG SHOW MODAL hDlg CALL DlgProc
          
          END FUNCTION
          
          
          
          
          '====================================================================
          CALLBACK FUNCTION DlgProc() AS LONG
            STATIC iNcPaint AS LONG
            LOCAL hdc AS DWORD
          
            SELECT CASE AS LONG CB.MSG
            CASE %WM_INITDIALOG
                ' no NcPaint at this stage
                iNcPaint = 1
                PostMessage CB.HNDL, %WM_USER, 0, 0
          
            CASE %WM_USER
               ' now let's do %WM_NCPAINT
                iNcPaint = 0
                PostMessage CB.HNDL, %WM_NCACTIVATE, %TRUE, 0
          
            '  when we comment out this case -- it will
            '  display a plain white Win10 caption
            CASE %WM_NCPAINT
          
             '   hdc = GetDCEx(CB.HNDL, CB.WPARAM , %DCX_WINDOW or %DCX_INTERSECTRGN)
               ' Paint into this DC
               '  ReleaseDC(CB.HNDL, hdc)
                FUNCTION = iNcPaint
          
          
            CASE %WM_PAINT
                 paint_InternalDlgborder CB.HNDL
          
          
             CASE %WM_SIZE
                 ' prevents multiple border lines
                 ' when dialog resizes
                  DIALOG REDRAW CB.HNDL
          
          
          
          
          
            END SELECT
          END FUNCTION
          
          
           '-------------------------------------------
           ' Routine to paint the Internal dialog border
           ' to make it look stunning
           SUB paint_InternalDlgborder( dlgH AS DWORD)
          
                   LOCAL hdgBrush, hdgPen AS DWORD
                   LOCAL rcdg AS RECT, psdg AS PAINTSTRUCT
                   ' get dialog clientarea and statusbar height to "frame"
                    GetClientRect dlgH, rcdg
          
                    BeginPaint dlgH, psdg
                     '   create pen with desired color       ' cyan , magenta and yellow are ok
                        hdgPen   = CreatePen(%PS_SOLID, 1, %RGB_MAGENTA)
                      ' select pen into control's dc
                        hdgPen   = SelectObject(psdg.hDc, hdgPen)
                       'prepare for hollow rect
                        hdgBrush = SelectObject(psdg.hDc, GetStockObject(%NULL_BRUSH))
          
                        ' frame dialog client area and draw its rectangle
                        Rectangle psdg.hDC, rcdg.nLeft, rcdg.nTop, _
                                            rcdg.nRight, rcdg.nBottom
          
                       'return original brush
                        SelectObject psdg.hDc, hdgBrush
                      '  return original pen and delete the one we created
                        DeleteObject SelectObject(psdg.hDc, hdgPen)
                    EndPaint dlgH, psdg
          
          
          
           END SUB

          Comment


          • #6
            Hi Borje, BTW how do you paint the caption with another color instead of the XP bluish color?
            Thanks in advance

            Comment


            • #7
              Remove this:
              #RESOURCE MANIFEST, 1, "XPTheme.xml"

              or disable the theme for the NONCLIENT area which allows painting that area (AKA SKINNING)

              or do what I suggested in Post #4.

              See here.
              Last edited by Jim Fritts; 23 Jun 2020, 09:27 AM.

              Comment


              • #8
                Adding a line between caption and dialog makes it a bit more bearable...

                Code:
                #COMPILE EXE
                #DIM ALL
                #INCLUDE "WIN32API.INC"
                %WDLG = 200
                %HDLG = 100
                
                '====================================================================
                FUNCTION PBMAIN () AS LONG
                  LOCAL hDlg AS DWORD
                  DIALOG NEW 0, "Caption test",,, %WDLG, %HDLG, %WS_CAPTION OR %WS_SYSMENU, 0 TO hDlg
                  CONTROL ADD LINE, hDlg, -1, "", 0, 0, %WDLG, 1
                  DIALOG SHOW MODAL hDlg
                END FUNCTION
                Regards,
                Peter

                Comment


                • #9
                  Thank you Peter and Jim

                  Click image for larger version

Name:	caption.PNG
Views:	119
Size:	7.8 KB
ID:	795930

                  I placed in a very long and thick line and together with border paint, it does looks great in win10

                  Code:
                  '
                  
                  #COMPILE EXE
                  #DIM ALL
                  #INCLUDE "WIN32API.INC"
                  
                  ' #RESOURCE MANIFEST, 1, "XPTheme.xml"
                  
                  ' Initial width and height of dialog
                   %Widlg = 200
                   %Htdlg = 140
                   %ID_Lin = 1000
                  
                  
                  '====================================================================
                  FUNCTION PBMAIN () AS LONG
                    LOCAL hDlg AS DWORD
                  
                   ' DIALOG NEW 0, "XP-style Dlg in Win10",,, 200, 140, %WS_CAPTION OR %WS_SYSMENU OR _
                           '    %WS_THICKFRAME OR %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX, 0 TO hDlg
                  
                  
                     DIALOG NEW 0, "XP-style Dlg in Win10",,, %Widlg, %Htdlg, %WS_CAPTION OR %WS_SYSMENU OR _
                               %WS_THICKFRAME OR %WS_MINIMIZEBOX OR %WS_MAXIMIZEBOX, 0 TO hDlg
                  
                    DIALOG SET COLOR  hDlg, %RGB_MEDIUMBLUE , %RGB_AZURE
                  
                    ' draws a long and thick line to demarcate caption from dialog
                    CONTROL ADD LINE, hDlg, %ID_Lin, "", 0, 1, %Widlg+2000, 3
                  
                    DIALOG SHOW MODAL hDlg CALL DlgProc
                  
                  END FUNCTION
                  
                  
                  
                  
                  '====================================================================
                  CALLBACK FUNCTION DlgProc() AS LONG
                    STATIC iNcPaint AS LONG
                    LOCAL hdc AS DWORD
                  
                    SELECT CASE AS LONG CB.MSG
                    CASE %WM_INITDIALOG
                        ' no NcPaint at this stage
                        iNcPaint = 1
                        PostMessage CB.HNDL, %WM_USER, 0, 0
                  
                    CASE %WM_USER
                       ' now let's do %WM_NCPAINT
                        iNcPaint = 0
                        PostMessage CB.HNDL, %WM_NCACTIVATE, %TRUE, 0
                  
                    '  when we comment out this case -- it will
                    '  display a plain white Win10 caption
                     CASE %WM_NCPAINT
                         '  hdc = GetDCEx(CB.HNDL, CB.WPARAM , %DCX_WINDOW or %DCX_INTERSECTRGN)
                       ' Paint into this DC
                       '  ReleaseDC(CB.HNDL, hdc)
                        FUNCTION = iNcPaint
                  
                  
                    CASE %WM_PAINT
                         paint_InternalDlgborder CB.HNDL
                  
                  
                     CASE %WM_SIZE
                         ' prevents multiple border lines
                         ' when dialog resizes
                          DIALOG REDRAW CB.HNDL
                  
                  
                  
                  
                  
                    END SELECT
                  END FUNCTION
                  
                  
                   '-------------------------------------------
                   ' Routine to paint the Internal dialog border
                   ' to make it look stunning
                   SUB paint_InternalDlgborder( dlgH AS DWORD)
                  
                           LOCAL hdgBrush, hdgPen AS DWORD
                           LOCAL rcdg AS RECT, psdg AS PAINTSTRUCT
                           ' get dialog clientarea and statusbar height to "frame"
                            GetClientRect dlgH, rcdg
                  
                            BeginPaint dlgH, psdg
                             '  create pen with desired color       ' cyan , magenta and yellow are ok
                             '  the pen width will increase the width of the border
                                hdgPen   = CreatePen(%PS_SOLID, 3, %RGB_GREENYELLOW)
                              ' select pen into control's dc
                                hdgPen   = SelectObject(psdg.hDc, hdgPen)
                               'prepare for hollow rect
                                hdgBrush = SelectObject(psdg.hDc, GetStockObject(%NULL_BRUSH))
                  
                                ' frame dialog client area and draw its rectangle
                                ' slightly smaller than the client area
                                Rectangle psdg.hDC, rcdg.nLeft+1  , rcdg.nTop+1 , _
                                                    rcdg.nRight-1  , rcdg.nBottom-1
                  
                               'return original brush
                                SelectObject psdg.hDc, hdgBrush
                              '  return original pen and delete the one we created
                                DeleteObject SelectObject(psdg.hDc, hdgPen)
                            EndPaint dlgH, psdg
                  
                  
                  
                   END SUB

                  Comment


                  • #10
                    Any thoughts on how to programatically change the color of the caption bar instead of the bluish color?

                    Comment


                    • #11
                      Under the CASE %WM_NCPAINT there is a block of commented out code which I cobbled up from a c++ forum, which I'm not sure
                      whether it can be used to change the caption color? I bet that this the way to change the caption color programatically?

                      Code:
                       CASE %WM_NCPAINT
                             '  hdc = GetDCEx(CB.HNDL, CB.WPARAM , %DCX_WINDOW or %DCX_INTERSECTRGN)
                           ' Paint into this DC
                           '  ReleaseDC(CB.HNDL, hdc)
                            FUNCTION = iNcPaint

                      Comment


                      • #12
                        Peter was referring to using a line to add distinction between the white title bar and the client area for usual Windows 10 apps. See xBot for info on skinning the Titlebar. These snippets specifically:

                        Code:
                        '_________________________________________________________________
                        '
                        '   FUNCTION NonClientAreaProc                            Titlebar
                        '_________________________________________________________________
                        
                        FUNCTION NonClientAreaProc( _
                                    BYVAL hWnd AS LONG   _
                                  , BYVAL wMsg AS LONG   _
                                  , BYVAL wParam AS LONG _
                                  , BYVAL lParam AS LONG _
                                  ) AS LONG
                        
                            LOCAL hDC           AS LONG
                            LOCAL i             AS LONG
                            LOCAL j             AS LONG
                            LOCAL k             AS LONG
                            LOCAL NeedToRefresh AS LONG
                            LOCAL lResult       AS LONG
                        
                            LOCAL Pnt           AS POINT
                            LOCAL rcNCA         AS RECT
                            LOCAL hf            AS LONG
                        
                            lResult = CallWindowProcA(gpDlgProcOld_0, hWnd, wMsg, wParam, lParam)
                        
                            SELECT CASE wMsg
                                CASE %WM_DESTROY
                                    SetWindowLongPtrA(hWnd, %GWLP_WNDPROC, gpDlgProcOld_0)
                        
                                CASE %WM_NCHITTEST
                                    SELECT CASE lResult
                                        CASE %HTCAPTION
                                            GOSUB AssignButtonRects
                                            IF j <> 0 THEN lResult = 9999
                                    END SELECT
                        
                                CASE %WM_NCMOUSEMOVE
                                    'Resets the upper left corner of the dialog when the dialog is moved
                                    'this is important to consider for mouse pointer placement on the moved dialog
                                    'giLeft = LO(WORD, lParam)  'this is where the mouse is x not where the edge of the dialog is
                                    'giTop = HI(WORD, lParam)   'this is where the mouse is y not where the edge of the dialog is
                        
                                    IF giShowArrowCursor = 1 THEN
                                        GOSUB AssignButtonRects
                                        FOR i = 1 TO nCaptionButtons
                                           IF (i <> j) AND (StatusCaptionButtons(i)) <> 0 THEN _
                                              StatusCaptionButtons(i) = 0: NeedToRefresh = %True
                                        NEXT
                                    END IF
                        
                                CASE %WM_NCLBUTTONDOWN
                        
                                    IF giShowArrowCursor = 1 THEN
                                        GOSUB AssignButtonRects
                                        FOR i = 1 TO nCaptionButtons
                                           IF j = i THEN
                                              IF StatusCaptionButtons(i) = 0 THEN _
                                                 StatusCaptionButtons(i) = 1: NeedToRefresh = %True
                                           ELSE
                                              IF StatusCaptionButtons(i) = 1 THEN _
                                                 StatusCaptionButtons(i) = 0: NeedToRefresh = %True
                                           END IF
                                        NEXT
                                    END IF
                        
                                    'If an application processes this message, it should return zero.
                                    'left toggle on titlebar icon
                                    IF giMouseOnIcon = 1 THEN
                                        IF giShowArrowCursor = 1 THEN
                                            IF hPopupNCA = 0 THEN
                                                'giNextClickNCA = 1
                                                'CALL SHOW_NOTES_NO_WAIT("LEFT BUTTON TOGGLE ON ICON")
                                                PostMessageA hWndMain, %WM_COMMAND, %ID_BuildPopupMenuNCA_1, 0
                                            ELSE
                                                'popup should be visible
                                                '!!!! if the popup window is under icon then it show be closed.
                                                '!!!! if the popup window is not under icon then it should be moved under icon.
                                                'giNextClickNCA = 0 place popup at right click position
                                                'giNextClickNCA = 1 place popup below icon
                                                'giNextClickNCA = 2 destroy popup
                                                'giNextClickNCA = 3 destroy popup and rebuild it under icon
                                                CALL ClosePopupMenuNCA
                                                'giNextClickNCA = 3
                                                PostMessageA hWndMain, %WM_COMMAND, %ID_BuildPopupMenuNCA_3, 0
                                            END IF
                                        ELSE
                                            'CALL SHOW_NOTES_NO_WAIT("INVALID MOUSE CLICK ON ICON")
                                            CALL RESET_MOVING_DIALOG
                                            CALL SELECT_ARROW_CURSOR
                        
                                        END IF
                                    END IF
                        
                                    IF giMouseOnTitle = 1 THEN
                                        IF giDragging = 1 THEN
                                            CALL RESET_MOVING_DIALOG
                                            CALL SELECT_ARROW_CURSOR
                        
                                        ELSEIF giShowArrowCursor = 1 THEN
                                            'CALL SHOW_NOTES_NO_WAIT("LEFT BUTTON TOGGLE ON TITLE")
                                            '%vk_left %vk_right %vk_up %vk_down sends a pulse here
                                            '%ID_CursorLeft, %ID_CursorRight, %ID_CursorUp, %ID_CursorDown
                                            CALL RESET_MOVING_DIALOG
                                        ELSE
                                            CALL RESET_MOVING_DIALOG
                                            CALL SELECT_ARROW_CURSOR
                                        END IF
                                    END IF
                        
                                CASE %WM_NCLBUTTONUP
                                    IF giShowArrowCursor = 1 THEN
                                        GOSUB AssignButtonRects
                                        FOR i = 1 TO nCaptionButtons
                                            IF StatusCaptionButtons(i) = 1 THEN
                                                StatusCaptionButtons(i) = 0: NeedToRefresh = %True
                                                IF j = i THEN
                                                    PostMessageA hWnd, %WM_USER + 998, i, 0
                                                END IF
                                            END IF
                                        NEXT
                                    ELSE
                                        CALL RESET_MOVING_DIALOG
                                        CALL SELECT_ARROW_CURSOR
                                    END IF
                        
                                CASE %WM_NCACTIVATE, %WM_SETTEXT, %WM_NCPAINT
                                    GOSUB AssignButtonRects
                                    NeedToRefresh = %True
                        
                            END SELECT
                        
                            IF NeedToRefresh THEN
                                GOSUB DoRefresh
                            END IF
                        
                            FUNCTION = lResult
                        
                            EXIT FUNCTION
                        
                            AssignButtonRects:
                                GetWindowRect hWnd, rcNCA
                        
                                Pnt.x = CVI(MKL$(lParam), 1) - rcNCA.nLeft
                                Pnt.y = CVI(MKL$(lParam), 3) - rcNCA.nTop
                        
                                FOR i = 1 TO nCaptionButtons
                                    rcCaptionButtons(i).nRight = rcCaption.nRight - 0 - (nCaptionButtons - i) * cxBtn
                                    rcCaptionButtons(i).nLeft = rcCaption.nRight - 0 - (nCaptionButtons - i + 1) * cxBtn
                                    rcCaptionButtons(i).nTop = rcCaption.nTop '+ 2
                                    rcCaptionButtons(i).nBottom = rcCaption.nBottom '- 2
                                NEXT
                        
                                FOR i = 1 TO nCaptionButtons
                                    IF PtInRect(rcCaptionButtons(i), Pnt) THEN j = i
                                NEXT
                        
                            RETURN
                        
                            DoRefresh:
                                ' Refresh frame controls only
                                hDC = GetWindowDC(hWnd)
                        
                                LOCAL MyImageDC                     AS DWORD
                                LOCAL pBitmap                       AS BITMAP
                                LOCAL memBit                        AS DWORD
                                LOCAL eBitmap                       AS BITMAP
                                LOCAL pSize, tPixel                 AS DWORD
                        
                                MyImageDC = CreateCompatibleDC(0)
                                memBit = SelectObject(MyImageDC, ghBmpNCA)
                                pSize = SIZEOF(eBitmap)
                                GetObjectA ghBmpNCA, pSize, eBitmap
                                tPixel = RGB(0, 96, 128)
                        
                                TransparentBlt  _
                                         hDC  _
                                       , rcCaptionButtons(1).nLeft _
                                       , rcCaptionButtons(1).nTop _
                                       , eBitmap.bmWidth _
                                       , eBitmap.bmHeight _
                                       , MyImageDC        _
                                       , 0                _
                                       , 0                _
                                       , eBitmap.bmWidth  _
                                       , eBitmap.bmHeight _
                                       , tPixel
                        
                                SelectObject MyImageDC, memBit
                                DeleteDC MyImageDC
                        
                                'FOR i = 1 TO nCaptionButtons     'buttons left to right
                                '    SELECT CASE i
                                '        CASE 1
                                '            DrawFrameControl hDc, rcCaptionButtons(i), %DFC_CAPTION, %DFCS_CAPTIONMIN OR %DFCS_FLAT OR %DFCS_HOT
                                '        CASE 2
                                '            DrawFrameControl hDc, rcCaptionButtons(i), %DFC_CAPTION, %DFCS_CAPTIONCLOSE OR %DFCS_FLAT OR %DFCS_HOT
                                '    END SELECT
                                'NEXT
                                ReleaseDC hWnd, hDC
                            RETURN
                        
                        END FUNCTION
                        Code:
                        '_________________________________________________________________
                        '
                        ' FUNCTION TitlebarGradientProc                           Titlebar  NEW
                        '_________________________________________________________________
                        
                        FUNCTION TitlebarGradientProc( _
                                      BYVAL hWnd AS LONG   _
                                    , BYVAL wMsg AS LONG   _
                                    , BYVAL wParam AS LONG _
                                    , BYVAL lParam AS LONG _
                                    ) AS LONG
                        
                            LOCAL OldBMP       AS LONG
                            LOCAL NewBMP       AS LONG
                            LOCAL rcWnd        AS RECT
                            LOCAL tmpCol1      AS LONG
                            LOCAL tmpCol2      AS LONG
                            LOCAL lResult      AS LONG
                        
                            GradhWnd = hWnd
                        
                            lResult = CallWindowProcA(gpDlgProcOld_1, hWnd, wMsg, wParam, lParam)
                        
                            SELECT CASE wMsg
                        
                                CASE %WM_DESTROY
                                    SetWindowLongPtrA(hWnd, %GWLP_WNDPROC, gpDlgProcOld_1)
                        
                                CASE %WM_NCACTIVATE, %WM_MDIACTIVATE, %WM_KILLFOCUS, %WM_MOUSEACTIVATE
                        
                                    SELECT CASE wMsg
                                        CASE %WM_MOUSEACTIVATE
                                            giSelColors = True
                                            FUNCTION = %MA_ACTIVATE
                        
                                        CASE %WM_NCACTIVATE
                                            'Indicates when a title bar or icon needs to be changed
                                            'to indicate an active or inactive state. If an active
                                            'title bar or icon is to be drawn, the wParam parameter
                                            'is TRUE. If an inactive title bar or icon is to be
                                            'drawn, wParam is FALSE. When wParam is TRUE, the return
                                            'value is ignored
                        
                                            SELECT CASE wParam
                                                CASE <> 0  'true (draw active titlebar or icon)
                                                    giSelColors = True
                                                    'FUNCTION = %MA_ACTIVATE
                                                    'FUNCTION = 1
                        
                                                CASE = 0   'false (draw inactive titlebar state)
                                                    IF GetActiveWindow() = GradhWnd THEN
                                                        giSelColors = False
                                                        FUNCTION = 1
                                                    ELSE
                                                        FUNCTION = 1
                                                        EXIT FUNCTION
                                                    END IF
                                            END SELECT
                        
                                        CASE %WM_MDIACTIVATE
                                            FUNCTION = 1
                                            EXIT FUNCTION
                        
                                        CASE %WM_KILLFOCUS
                                            FUNCTION = 1
                                            giSelColors = False
                        
                                    END SELECT
                        
                                    IF giSelColors = True THEN
                                        CALL SHOW_ACTIVE_TITLEBAR
                                        CALL SET_THE_DOCUMENT_FOCUS
                                    ELSE
                                        GetColors False, tmpCol1, tmpCol2
                                        CALL DrawTheTitlebar(tmpCol1, tmpCol2)
                                    END IF
                        
                                    EXIT FUNCTION
                        
                                CASE %WM_SETTEXT, %WM_NCPAINT, %WM_NCLBUTTONDOWN, %WM_NCRBUTTONDOWN, %WM_SYSCOMMAND, %WM_INITMENUPOPUP
                        
                                    IF (GetActiveWindow() = GradhWnd) THEN
                                        giSelColors = True
                                    ELSEIF SendMessageA(GetParent(GradhWnd), %WM_MDIGETACTIVE, 0, 0) = GradhWnd THEN
                                        giSelColors = True
                                    'ElseIf IsWindowVisible(GetActiveWindow()) = False Then
                                    '    giSelColors = True
                                    ELSE
                                        giSelColors = False
                                    END IF
                        
                                    IF giSelColors = True THEN
                                        CALL SHOW_ACTIVE_TITLEBAR
                                        CALL SET_THE_DOCUMENT_FOCUS
                                    ELSE
                                        GetColors False, tmpCol1, tmpCol2
                                        CALL DrawTheTitlebar(tmpCol1, tmpCol2)
                                    END IF
                        
                                CASE %WM_SIZE
                                    IF hWndMain = GradhWnd THEN
                                        SendMessageA GradhWnd, %WM_NCPAINT, 0, 0
                                    END IF
                        
                               'CASE %WM_SETCURSOR
                                   'cannot use this because it causes the mouse to disappear on titlebar.
                        
                            END SELECT
                        
                            JustCallBack:
                            FUNCTION = lResult
                        
                        END FUNCTION
                        xBot uses a top to bottom gradient but you can change that to a solid color or a left to right gradient.
                        Last edited by Jim Fritts; 23 Jun 2020, 10:42 AM.

                        Comment


                        • #13
                          Hello Jim, please pardon me, I just couldn't figure out how your xbox's skining work as it is too complicated for me. Could you
                          provide a small program just to show how to do the skinning of the titlebar ?

                          Comment


                          • #14
                            Yes, you are quite correct it is painfully complicated. Sorry, that is all I have at the moment. Hopefully soon I will be working on a simplified example when I finish up a few projects.

                            Which one did you try (1, 2, 3, or 4) of the anniversary edition?

                            Comment


                            • #15
                              For the old-timers: I'm starting to wonder if Tim is related to Stephane

                              Comment


                              • #16
                                Na! Stephane was always demanding that latest buzzword feature be added to PB.

                                If it was added, then he ignored it.

                                Cheers,

                                ((or maybe 2nd cousin? ))
                                Dale

                                Comment


                                • #17
                                  But what about the "younitz" ?
                                  hutch at movsd dot com
                                  The MASM Forum

                                  www.masm32.com

                                  Comment


                                  • #18
                                    ?? "younitz"

                                    Thankfully it has been long enough I don't remember that.

                                    Cheers,

                                    Dale

                                    Comment


                                    • #19
                                      Hi Jim, I was trying out xbox 4

                                      Comment


                                      • #20

                                        Comment

                                        Working...
                                        X