Screen Saver which Displays Pictures

This is a simple screen saver, which display sequentially all pictures in a directory (bitmaps, metafiles, GIF's, JPEG's, PNG's). The default directory is the directory of the screen saver, but you can change it.

Some problems there are still with that screen saver:

  1. The "Configure"-button in the "Screen saver"-property sheet does not work correctly. To configure you must call the .scr file directly without parameters (or right click in explorer and choose "Configure").
  2. The screen saver is not able to display other graphics like PCX, TIFF and so on.
  3. Win95 could crash when trying to display bitmaps with too high resolution, WinNT has no problem there.

If anybody knows how to fix the problems please send me a mail, so that everybody can benefit from it.

Thanks Oliver Reuther for the idea, Alejandro Auilar Sierra for the CImage-class, Robert Caldecott for his Metafile class and Zafir Anjum for some bitmap related routines.

When you have some nice pictures like Error-MessageBoxes or Warnings, please feel free to send me these pictures as e-mail. I will include them in my project (by adding a copyright-notice of the author), and you will get newest versions of the screen saver per e-mail.

Download demo project & source - 756KB



Comments

  • another fix for config problem

    Posted by Legacy on 05/04/1999 12:00am

    Originally posted by: Jon Tanner

    On Microsoft's website, they have a fix for the config problem, because the way Win98 handles command strings
    is different than 95.
    
    

    so here is the code they recommend ( i've tested it on 95,98,and NT)

    BOOL MatchOption(LPTSTR lpsz, TCHAR ch)
    {
    if (lpsz[0] == '-' || lpsz[0] == '/')
    lpsz++;
    if (lpsz[0] == ch)
    return TRUE;
    return FALSE;
    }

    and in InitInstance()

    if ( __argc == 1 || MatchOption(__argv[1], _T('c')))
    DoConfig();

    else if (MatchOption(__argv[1], _T('s')) || MatchOption(__argv[1], _T('S')))
    {
    CSaverWnd* pWnd = new CSaverWnd;
    pWnd->Create();
    m_pMainWnd = pWnd;
    return TRUE;
    }

    -note, you have to add the capital 'S' because 98 and 95 return different cases, and the new version doesn't reduce all to lower case

    Reply
  • Fixing problem 1

    Posted by Legacy on 10/05/1998 12:00am

    Originally posted by: Nguyen Duc Dung

    I' m developing a screen saver engine basing on the MFC Screen Saver
    sample. I had the same problem (problem 1). I don't know much about
    promble 2&3, I think that depends on the image library. The Configure
    button works well in Windows95 but doesn't in Windows98 and WindowsNT.
    I think that because the way Windows invokes screen saver has changed.
    The problem here is the MatchOption() function. I have the following
    solution:

    At line 66 of DlgScrSaver.cpp (function CSaverApp::InitInstance())

    if (__argc == 1 || MatchOption(__argv[1], _T("c")))

    should be replaced by

    if (__argc == 1 || __argv[1][1]=='c'||__argv[1][0]=='c')

    Now it works in both Windows9x and WindowsNT.

    NDD


    Reply
Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • Live Event Date: April 22, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Database professionals — whether developers or DBAs — can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this live …

  • Download the Information Governance Survey Benchmark Report to gain insights that can help you further establish business value in your Records and Information Management (RIM) program and across your entire organization. Discover how your peers in the industry are dealing with this evolving information lifecycle management environment and uncover key insights such as: 87% of organizations surveyed have a RIM program in place 8% measure compliance 64% cannot get employees to "let go" of information for …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds