Announcement

Collapse
No announcement yet.

graphic install program takes over whole screen

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

  • Christopher Carroll
    replied
    The open-source astronomy program, Stellarium at http://www.stellarium.org, is a good example of Ken's requirement, and it has floating graphic controls.

    Leave a comment:


  • Ken Elvehjem
    replied
    Reply to Cliff

    Cliff,

    Thanks for your response. I appreciate your comments, and by and large, I agree with you -- Why bother to have "windows" with all the built-in standardization that probably *does* save hours and hours of tech support.

    My application is for a viewer of aerial photography, and every pixel counts. Additionaly, it will be written for an *extremely* exclusive audience, and believe me, they will tell me in a heartbeat if something doesn't meet their expectations. On the bright side, they will pay me to bring it in line with what they expect. It will also have a "front end" and controls that will pop through the graphic when some key (the "controls" comes to mind!) for some various features, then disappear for uncluttered viewing.

    Well, that's my plan, anyway...

    Thanks to all, though for the replies and advice.

    Sincerely,

    Ken S. Elvehjem

    Leave a comment:


  • Cliff Nichols
    replied
    I have seen several hardware installation programs (chipset installers, network and audio installers) that "take over" the whole screen.

    No window frame, no sys controls, no red 'X' and no taskbar/systray/start button.
    I have a use for this type of behavior
    WHY??????? (Personally I get annoyed by this behavior, especially if I have to enter some passcode to install and the passcode is in an email or some other spot and is impossible to memorize when I just want to run it and see if it does what I want???)

    Anyone that blots the screen and expect you to know what to enter is "Just ASKING for tech calls" to walk someone through the same procedure...Over...and OVer....and OVEr...and OVER...and OVERR...and OVERRR...and....."

    Anyways....lessons of the past....whether it was "Lazy programmers"...or uninformed, or trying to "Make things easier, but made it actually harder"....or something else should be a lesson learned and not to be repeated.

    Personally I keep my window as big as needed to be seen, and try to keep on top, but if someone adds to it and takes away focus or some other thing to try to simplify...then its up to them to code it right...not mine...I did not write the code....my code works, and not my fault

    (Ok ok....you caught me...I will attempt to assist on calls like that...but if a pain, I pass it back to the guy that did something I had not accounted for, and its then their problem)

    Leave a comment:


  • colin glenn
    replied
    Oh hey, DESKTOP! Something new.

    Leave a comment:


  • Mike Doty
    replied
    Thanks, Colin. Your code, but all DDT.
    Code:
    #COMPILE EXE
    #DIM ALL
    %IDB_BUTTON1   = 1001
    %IDD_MAXWINDOW =  101
    FUNCTION PBMAIN()
        ShowMAXWINDOW %HWND_DESKTOP
    END FUNCTION
    CALLBACK FUNCTION ShowMAXWINDOWProc()
      LOCAL ncWidth&, ncHeight&
      SELECT CASE AS LONG CBMSG
          CASE %WM_INITDIALOG
              DESKTOP  GET SIZE TO ncWidth&, ncHeight&
              DIALOG SET LOC CB.HNDL, 0,0
              DIALOG SET SIZE CB.HNDL, ncWidth,ncHeight
           CASE %WM_COMMAND
              SELECT CASE AS LONG CBCTL
                  CASE %IDB_BUTTON1
                      IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                          DIALOG END CB.HNDL
                      END IF
              END SELECT
      END SELECT
    END FUNCTION
    FUNCTION ShowMAXWINDOW(BYVAL hParent AS DWORD) AS LONG
      LOCAL lRslt AS LONG
      LOCAL hDlg  AS DWORD
      DIALOG NEW hParent, "Max Window", 218, 387, 201, 121, %WS_POPUP OR _
          %WS_CLIPCHILDREN OR %WS_VISIBLE OR %DS_NOFAILCREATE OR _
          %DS_SETFONT, %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
          %WS_EX_RIGHTSCROLLBAR, TO hDlg
      CONTROL ADD BUTTON, hDlg, %IDB_BUTTON1, "Close", 56, 36, 84, 36
      DIALOG SHOW MODAL hDlg, CALL ShowMAXWINDOWProc TO lRslt
      FUNCTION = lRslt
    END FUNCTION

    Leave a comment:


  • Ken Elvehjem
    replied
    Thank you all for the pointers.

    Colin, your short demo program was extremely helpful in that it showed exactly what I needed to understand.

    I take it that if can do graphics all the way out to the edge of the screen... which is what I was trying for.

    Thanks again!

    Ken

    Leave a comment:


  • colin glenn
    replied
    Working Sample:
    Code:
    #COMPILE EXE
    #DIM ALL
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    
    %IDB_BUTTON1   = 1001
    %IDD_MAXWINDOW =  101
    
    FUNCTION PBMAIN()
        ShowMAXWINDOW %HWND_DESKTOP
    END FUNCTION
    
    CALLBACK FUNCTION ShowMAXWINDOWProc()
    LOCAL hmon  AS DWORD
    LOCAL mi    AS MONITORINFO
    LOCAL test  AS LONG
    
        SELECT CASE AS LONG CBMSG
            CASE %WM_INITDIALOG
                hmon = MonitorFromWindow(CB.HNDL, %MONITOR_DEFAULTTONEAREST)
                mi.cbSize = SIZEOF(mi)
                test = GetMonitorInfo(hmon, mi)
                DIALOG SET LOC CB.HNDL, mi.rcMonitor.nleft, mi.rcMonitor.ntop
                DIALOG SET SIZE CB.HNDL, mi.rcMonitor.nright, mi.rcMonitor.nbottom
    
    
            CASE %WM_COMMAND
                SELECT CASE AS LONG CBCTL
                    CASE %IDB_BUTTON1
                        IF CBCTLMSG = %BN_CLICKED OR CBCTLMSG = 1 THEN
                            DIALOG END CB.HNDL
                        END IF
    
                END SELECT
        END SELECT
    END FUNCTION
    
    FUNCTION ShowMAXWINDOW(BYVAL hParent AS DWORD) AS LONG
        LOCAL lRslt AS LONG
        LOCAL hDlg  AS DWORD
    
        DIALOG NEW hParent, "Max Window", 218, 387, 201, 121, %WS_POPUP OR _
            %WS_CLIPCHILDREN OR %WS_VISIBLE OR %DS_NOFAILCREATE OR _
            %DS_SETFONT, %WS_EX_LEFT OR %WS_EX_LTRREADING OR _
            %WS_EX_RIGHTSCROLLBAR, TO hDlg
        CONTROL ADD BUTTON, hDlg, %IDB_BUTTON1, "Close", 56, 36, 84, 36
    
        DIALOG SHOW MODAL hDlg, CALL ShowMAXWINDOWProc TO lRslt
    
        FUNCTION = lRslt
    END FUNCTION
    Close button for ease of closing.

    Leave a comment:


  • colin glenn
    replied
    Pointer from blogs.msdn.com
    http://blogs.msdn.com/oldnewthing/ar...05/414910.aspx
    Another topic about it here:
    http://social.msdn.microsoft.com/For...-f3bac15c7a58/

    Leave a comment:


  • Paul Dixon
    replied
    If someone could just point me in the right direction....
    Maybe this will help:
    http://www.powerbasic.com/support/pb...ad.php?t=39902

    Paul.

    Leave a comment:


  • Ken Elvehjem
    started a topic graphic install program takes over whole screen

    graphic install program takes over whole screen

    Hi,

    I have seen several hardware installation programs (chipset installers, network and audio installers) that "take over" the whole screen.

    No window frame, no sys controls, no red 'X' and no taskbar/systray/start button.

    Nevertheless, these "non-windows" are fairly well behaved; you can "ALT-Tab" to another window, and the windows start key (you know... the one w/ the M$ flag) on the keyboard brings up both the Start menu and the taskbar.

    I have a use for this type of behavior; can it be done from PB8 (or 9... just ordered that) and is it difficult or strange?

    If someone could just point me in the right direction....

    Sincerely,

    Ken
Working...
X