More Tips on Writing Good Bug Reports


Marie has done an awesome job writing up the most complete “how to file a good bug report” I’ve ever seen on paper: http://blogs.msdn.com/productfeedback/archive/2004/09/27/235003.aspx

Two things I really want to emphasize:

  1. Good bug titles – we have lots of bugs in the database. Lots. It is important for the bug title to include words that someone else might use to look up the bug. A good rule of thumb that I use is before I even start to write up the bug report, I search for the bug. Well, we all should first search for the bug before filing, but what I do a little differently is record what words I used to try to query the bug with. I make sure I use those words somewhere in the bug title.
  1. Include the least amount of repro steps as possible – Double-check whether you really have to create a project to repro the bug. Or does the bug repro with any project opened or just a specific language? The fewer the steps, the better information we can provide the developer with. And the developer can always use the extra time to fix more bugs. After a while, those extra few steps really start to add up.
Comments (7)

  1. Karen Isaacson says:

    One more point: check your spelling. As an example, ‘testers’ minus the ‘r’ [actual mistake from one bug report] is something totally different. If you are not a great speller, use a program that has spell checking.

  2. AT says:

    Karen: I stronly opposite to your spelling suggestion. The more different spellings you include in your report – the more hits it will recieve.

    For example then using correct word IntellisenSe in title and wrongly spelled IntellisenCe in description – your report will popup then any of both words seached.

    But something that I agree – make sure to include at least one correct word spelling in report 😉

  3. sara ford says:

    There are no extra points for incorrect spelling in a bug report. Nothing is worse than searching through the database for a bug and finding nothing that matches your query. So, you raid a bug, but it comes back as dupe, because the primary bug had the keyword misspelled.

    If you really want to receive more hits, include similar words that someone could search for. Using your Intelliense example, you could put the following in the bug title "Intellisense / Statement Completion." The odds are more people are going to search for Statement Completion rather than "intellisence"

    wow – i have never taken so long to type up a comment before just to make sure everything was spelled correctly. <grins>

  4. AT says:

    Talking about search:

    Do anybody know why this file http://lab.msdn.microsoft.com/robots.txt disallow indexing of ProductFeedback by any robot other that Microsoft one ?

    Is there any conspiracy involved ? 😉

  5. Bevan says:

    Including the least no. of repro steps possible:

    yes, this will save the devs time, but it will cost you time which you could be using to find more bugs.

    Normally you would say that the devs time is worth more than the testers, but I am a tester heavily outnumbered by devs in my office, so I like to give them a bit more work (it means they’re not churning out new features so quickly!)

    Hopefully we will hire some more testers soon which will improve my position.

  6. sara ford says:

    It is important to limit the number of repro steps is to ensure that you are raiding the root issue, and not raiding 3 or 4 similar bugs that will eventually get duped. There’s also the triage process invovled, in which giving them crisp and precise bug reports will save them time too.

    thanks,

    -sara

  7. Romano Scuri says:

    How to submit Microsoft this bug?

    Alternative download from http://digilander.libero.it/romanoscuri/SpinCtrlBug.zip

    This program hangs on Windows 9x/NT

    Step to reproduce the problem.

    1) Cut and paste each source file

    2) Build project

    3) Run application

    4) Choose menu option "Dialog with bug"

    5) Select option1, option2, option3, option2 in sequence

    /*———————————————————*/

    //

    // SpinCtrlBug.c

    //

    /*———————————————————*/

    #include <windows.h>

    #include <commctrl.h>

    #include "resource.h"

    /*———————————————————*/

    static HWND hWnd;

    static HINSTANCE hInst;

    static char *pPRGCLASS = "SpinCtrlBug";

    static HWND hwnd_dialog = NULL;

    static char tab_selected;

    static HWND hwndtab1;

    static HWND hwndtab2;

    static HWND hwndtab3;

    /*———————————————————*/

    void expand_window_to_max(HWND hDlg)

    {

    POINT p;

    RECT r;

    if (hWnd) {

    GetClientRect(hWnd,&r);

    p.x = p.y = 0;

    ClientToScreen(hWnd,&p);

    MoveWindow(hDlg,p.x,p.y,r.right-r.left,r.bottom-r.top,FALSE);

    }

    }

    /*———————————————————*/

    static void posiziona_tab_window(HWND hDlg)

    {

    HWND hParent;

    RECT r1,r2;

    POINT p;

    int x,y;

    hParent = GetParent(hDlg);

    GetWindowRect(GetDlgItem(hParent,IDC_FRAME_TAB),&r1);

    GetWindowRect(hDlg,&r2);

    p.x = r1.left;

    p.y = r1.top;

    ScreenToClient(hParent,&p);

    x = p.x+2;

    y = p.y+2;

    MoveWindow(hDlg,x,y,r2.right-r2.left,r2.bottom-r2.top,FALSE);

    }

    /*———————————————————*/

    static void gestione_scheda(HWND hDlg)

    {

    int i = 0;

    if (IsDlgButtonChecked(hDlg,IDC_RADIO1)) {

    i = 1;

    }

    else if (IsDlgButtonChecked(hDlg,IDC_RADIO2)) {

    i = 2;

    }

    else {

    i = 3;

    }

    if (i!=0 && i!=tab_selected) {

    switch (tab_selected) {

    case 1:

    ShowWindow(hwndtab1,SW_HIDE);

    break;

    case 2:

    ShowWindow(hwndtab2,SW_HIDE);

    break;

    case 3:

    ShowWindow(hwndtab3,SW_HIDE);

    break;

    }

    tab_selected = i;

    switch (tab_selected) {

    case 1:

    ShowWindow(hwndtab1,SW_SHOW);

    break;

    case 2:

    ShowWindow(hwndtab2,SW_SHOW);

    break;

    case 3:

    ShowWindow(hwndtab3,SW_SHOW);

    break;

    }

    }

    }

    /*———————————————————*/

    static BOOL CALLBACK TabProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)

    {

    switch (message) {

    case WM_INITDIALOG:

    posiziona_tab_window(hDlg);

    return(TRUE);

    case WM_COMMAND :

    switch (LOWORD(wParam)) {

    }

    break;

    }

    return(FALSE);

    }

    /*———————————————————*/

    static void init_mask(HWND hDlg,int with_bug)

    {

    CheckDlgButton(hDlg,IDC_RADIO1,TRUE);

    tab_selected = 1;

    hwndtab1 = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_TAB1),hDlg,(DLGPROC)TabProc,1);

    hwndtab2 = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_TAB2),hDlg,(DLGPROC)TabProc,2);

    if (with_bug) {

    hwndtab3 = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_TAB4),hDlg,(DLGPROC)TabProc,3);

    }

    else {

    hwndtab3 = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_TAB3),hDlg,(DLGPROC)TabProc,3);

    }

    ShowWindow(hwndtab1,SW_SHOW);

    }

    /*———————————————————*/

    BOOL CALLBACK DialogProc(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)

    {

    switch (message) {

    case WM_INITDIALOG :

    expand_window_to_max(hDlg);

    init_mask(hDlg,(int)lParam);

    return(TRUE);

    case WM_COMMAND :

    switch (LOWORD(wParam)) {

    case IDC_RADIO1:

    case IDC_RADIO2:

    case IDC_RADIO3:

    gestione_scheda(hDlg);

    break;

    case IDCANCEL:

    if (hwndtab1) {

    DestroyWindow(hwndtab1);

    hwndtab1 = NULL;

    }

    if (hwndtab2) {

    DestroyWindow(hwndtab2);

    hwndtab2 = NULL;

    }

    if (hwndtab3) {

    DestroyWindow(hwndtab3);

    hwndtab3 = NULL;

    }

    DestroyWindow(hDlg);

    hwnd_dialog = NULL;

    break;

    }

    break;

    }

    return(FALSE);

    }

    /*———————————————————*/

    static void create_dialog1(HWND hWnd)

    {

    if (hwnd_dialog = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,(DLGPROC)DialogProc,TRUE)) {

    ShowWindow(hwnd_dialog,SW_SHOW);

    }

    }

    /*———————————————————*/

    static void create_dialog2(HWND hWnd)

    {

    if (hwnd_dialog = CreateDialogParam(hInst,MAKEINTRESOURCE(IDD_DIALOG1),hWnd,(DLGPROC)DialogProc,FALSE)) {

    ShowWindow(hwnd_dialog,SW_SHOW);

    }

    }

    /*———————————————————*/

    LRESULT CALLBACK MainWndProc(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)

    {

    switch (message) {

    case WM_CREATE:

    hWnd = hwnd;

    return(FALSE);

    case WM_COMMAND:

    switch (LOWORD(wParam)) {

    case ID_MENU_DIALOGWITHBUG:

    create_dialog1(hwnd);

    break;

    case ID_MENU_DIALOGWITHOUTBUG:

    create_dialog2(hwnd);

    break;

    case ID_MENU_FINE:

    DestroyWindow(hwnd);

    break;

    }

    break;

    case WM_DESTROY:

    PostQuitMessage(0);

    break;

    default:

    return(DefWindowProc(hwnd,message,wParam,lParam));

    }

    return(FALSE);

    }

    /*———————————————————*/

    BOOL InitApplication(HINSTANCE hInstance)

    {

    WNDCLASS wc;

    wc.style = CS_HREDRAW | CS_VREDRAW;

    wc.lpfnWndProc = (WNDPROC)MainWndProc;

    wc.cbClsExtra = 0;

    wc.cbWndExtra = 0;

    wc.hInstance = hInstance;

    wc.hIcon = LoadIcon(NULL,IDI_APPLICATION);

    wc.hCursor = LoadCursor(NULL, IDC_ARROW);

    wc.hbrBackground = GetStockObject(WHITE_BRUSH);

    wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU1);

    wc.lpszClassName = pPRGCLASS;

    return(RegisterClass(&wc));

    }

    /*———————————————————*/

    BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)

    {

    if (CreateWindow(pPRGCLASS,"SpinCtrlBug",WS_OVERLAPPEDWINDOW,

    CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,

    NULL,NULL,hInstance,NULL)) {

    ShowWindow(hWnd,nCmdShow);

    UpdateWindow(hWnd);

    return(TRUE);

    }

    return(FALSE);

    }

    /*———————————————————*/

    int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)

    {

    INITCOMMONCONTROLSEX icc;

    MSG msg;

    hInst = hInstance;

    ZeroMemory(&icc,sizeof(icc));

    icc.dwSize = sizeof(icc);

    icc.dwICC = ICC_WIN95_CLASSES|ICC_DATE_CLASSES;

    InitCommonControlsEx(&icc);

    if (!InitApplication(hInstance)) {

    return (FALSE);

    }

    if (!InitInstance(hInstance,nCmdShow)) {

    return (FALSE);

    }

    while (GetMessage(&msg,NULL,0,0)) {

    TranslateMessage(&msg);

    DispatchMessage(&msg);

    }

    return((int)msg.wParam);

    }

    /*———————————————————*/

    // resource.h

    //{{NO_DEPENDENCIES}}

    // Microsoft Visual C++ generated include file.

    // Used by SpinCtrlBug.rc

    //

    #define IDD_DIALOG1 101

    #define IDR_MENU1 102

    #define IDD_TAB1 103

    #define IDD_TAB2 104

    #define IDD_TAB3 105

    #define IDD_TAB4 106

    #define IDC_COMBO1 1001

    #define IDC_RADIO1 1002

    #define IDC_RADIO2 1003

    #define IDC_RADIO3 1004

    #define IDC_FRAME_TAB 1005

    #define IDC_ME 1181

    #define IDC_M_SPIN 1182

    #define IDC_GI 1183

    #define IDC_G_SPIN 1184

    #define IDC_OR 1185

    #define IDC_O_SPIN 1186

    #define IDC_MMM 1187

    #define IDC_VVV 1189

    #define IDC_GGG 1191

    #define IDC_A 1195

    #define IDC_B 1197

    #define IDC_C 1198

    #define IDC_G 1199

    #define IDC_D 1200

    #define IDC_E 1201

    #define IDC_F 1202

    #define IDC_GG 1203

    #define IDC_AA 1221

    #define IDC_BB 1222

    #define IDC_CC 1223

    #define IDC_DD 1224

    #define IDC_EE 1225

    #define IDC_FF 1226

    #define ID_MENU_FINE 40001

    #define ID_MENU_DIALOGWITHBUG 40002

    #define ID_MENU_DIALOGWITHOUTBUG 40003

    // Next default values for new objects

    //

    #ifdef APSTUDIO_INVOKED

    #ifndef APSTUDIO_READONLY_SYMBOLS

    #define _APS_NEXT_RESOURCE_VALUE 104

    #define _APS_NEXT_COMMAND_VALUE 40004

    #define _APS_NEXT_CONTROL_VALUE 1006

    #define _APS_NEXT_SYMED_VALUE 101

    #endif

    #endif

    // SpinCtrlBug.rc

    // Microsoft Visual C++ generated resource script.

    //

    #include "resource.h"

    #define APSTUDIO_READONLY_SYMBOLS

    /////////////////////////////////////////////////////////////////////////////

    //

    // Generated from the TEXTINCLUDE 2 resource.

    //

    #include "afxres.h"

    /////////////////////////////////////////////////////////////////////////////

    #undef APSTUDIO_READONLY_SYMBOLS

    /////////////////////////////////////////////////////////////////////////////

    // Italiano (Italia) resources

    #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ITA)

    #ifdef _WIN32

    LANGUAGE LANG_ITALIAN, SUBLANG_ITALIAN

    #pragma code_page(1252)

    #endif //_WIN32

    #ifdef APSTUDIO_INVOKED

    /////////////////////////////////////////////////////////////////////////////

    //

    // TEXTINCLUDE

    //

    1 TEXTINCLUDE

    BEGIN

    "resource.h"

    END

    2 TEXTINCLUDE

    BEGIN

    "#include ""afxres.h""rn"

    ""

    END

    3 TEXTINCLUDE

    BEGIN

    "rn"

    ""

    END

    #endif // APSTUDIO_INVOKED

    /////////////////////////////////////////////////////////////////////////////

    //

    // Version

    //

    VS_VERSION_INFO VERSIONINFO

    FILEVERSION 1,0,0,1

    PRODUCTVERSION 1,0,0,1

    FILEFLAGSMASK 0x17L

    #ifdef _DEBUG

    FILEFLAGS 0x1L

    #else

    FILEFLAGS 0x0L

    #endif

    FILEOS 0x4L

    FILETYPE 0x1L

    FILESUBTYPE 0x0L

    BEGIN

    BLOCK "StringFileInfo"

    BEGIN

    BLOCK "041004b0"

    BEGIN

    VALUE "Comments", "Software by Scuri Romano"

    VALUE "FileDescription", "Applicazione SpinCtrlBug"

    VALUE "FileVersion", "1, 0, 0, 1"

    VALUE "InternalName", "SpinCtrl"

    VALUE "LegalCopyright", "Copyright (C) 2005"

    VALUE "OriginalFilename", "SpinCtrlBug.exe"

    VALUE "ProductName", " Applicazione SpinCtrlBug"

    VALUE "ProductVersion", "1, 0, 0, 1"

    END

    END

    BLOCK "VarFileInfo"

    BEGIN

    VALUE "Translation", 0x410, 1200

    END

    END

    /////////////////////////////////////////////////////////////////////////////

    //

    // Dialog

    //

    IDD_DIALOG1 DIALOGEX 0, 0, 323, 250

    STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION |

    WS_SYSMENU

    CAPTION "Dialog"

    FONT 8, "MS Shell Dlg", 400, 0, 0x1

    BEGIN

    DEFPUSHBUTTON "OK",IDOK,266,7,50,14

    PUSHBUTTON "Cancel",IDCANCEL,266,24,50,14

    LTEXT "Id",IDC_STATIC,7,7,8,8

    COMBOBOX IDC_COMBO1,7,17,48,30,CBS_DROPDOWN | CBS_SORT |

    WS_VSCROLL | WS_TABSTOP

    LTEXT "Select:",IDC_STATIC,7,39,23,8

    CONTROL "Option1",IDC_RADIO1,"Button",BS_AUTORADIOBUTTON,67,38,

    41,10

    CONTROL "Option2",IDC_RADIO2,"Button",BS_AUTORADIOBUTTON,125,38,

    41,10

    CONTROL "Option3",IDC_RADIO3,"Button",BS_AUTORADIOBUTTON,183,38,

    41,10

    CONTROL "",IDC_FRAME_TAB,"Static",SS_ETCHEDFRAME,7,57,309,186

    END

    IDD_TAB1 DIALOGEX 0, 0, 307, 181

    STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU

    FONT 8, "MS Shell Dlg", 400, 0, 0x1

    BEGIN

    LTEXT "a",IDC_STATIC,9,9,8,8

    COMBOBOX IDC_A,30,7,166,30,CBS_DROPDOWN | CBS_SORT | WS_VSCROLL |

    WS_TABSTOP

    LTEXT "b",IDC_STATIC,9,25,8,8

    EDITTEXT IDC_B,30,23,80,12,ES_AUTOHSCROLL

    LTEXT "c",IDC_STATIC,9,42,8,8

    EDITTEXT IDC_C,30,41,80,12,ES_AUTOHSCROLL

    LTEXT "d",IDC_STATIC,7,60,8,8

    EDITTEXT IDC_D,30,57,32,12,ES_AUTOHSCROLL | ES_NUMBER

    LTEXT "g",IDC_STATIC,70,60,8,8

    EDITTEXT IDC_G,88,57,32,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "e",IDC_E,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,25,

    20,10

    CONTROL "f",IDC_F,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,120,42,

    19,10

    END

    IDD_TAB2 DIALOGEX 0, 0, 307, 181

    STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU

    FONT 8, "MS Shell Dlg", 400, 0, 0x1

    BEGIN

    LTEXT "aa",IDC_STATIC,7,9,9,8

    COMBOBOX IDC_AA,27,7,152,30,CBS_DROPDOWNLIST | CBS_SORT |

    WS_VSCROLL | WS_TABSTOP

    LTEXT "bb",IDC_STATIC,7,25,9,8

    EDITTEXT IDC_BB,27,23,80,12,ES_AUTOHSCROLL

    LTEXT "cc",IDC_STATIC,7,41,8,8

    EDITTEXT IDC_CC,27,39,32,12,ES_AUTOHSCROLL | ES_NUMBER

    LTEXT "dd",IDC_STATIC,7,57,9,8

    EDITTEXT IDC_DD,27,55,32,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "ee",IDC_EE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,66,41,

    24,10

    CONTROL "ff",IDC_FF,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,66,54,

    21,10

    CONTROL "gg",IDC_GG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,66,65,

    24,10

    END

    IDD_TAB3 DIALOGEX 0, 0, 307, 181

    STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU

    FONT 8, "MS Shell Dlg", 400, 0, 0x1

    BEGIN

    LTEXT "GGG",IDC_STATIC,7,7,15,8

    COMBOBOX IDC_GGG,7,17,164,80,CBS_DROPDOWN | CBS_UPPERCASE |

    WS_VSCROLL | WS_TABSTOP

    GROUPBOX "DDDD",IDC_STATIC,7,36,163,37

    LTEXT "M",IDC_STATIC,15,47,8,8

    EDITTEXT IDC_ME,13,55,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_M_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,55,55,11,12

    LTEXT "G",IDC_STATIC,69,47,8,8

    EDITTEXT IDC_GI,69,55,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_G_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,111,55,11,12

    LTEXT "O",IDC_STATIC,125,47,8,8

    EDITTEXT IDC_OR,125,55,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_O_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,167,55,11,12

    LTEXT "MMM",IDC_STATIC,180,14,17,8

    COMBOBOX IDC_MMM,180,25,120,80,CBS_DROPDOWNLIST | WS_VSCROLL |

    WS_TABSTOP

    LTEXT "VVV",IDC_STATIC,180,46,13,8

    COMBOBOX IDC_VVV,180,57,120,80,CBS_DROPDOWNLIST | WS_VSCROLL |

    WS_TABSTOP

    END

    IDD_TAB4 DIALOGEX 0, 0, 307, 181

    STYLE DS_SETFONT | DS_FIXEDSYS | DS_CONTROL | WS_CHILD | WS_SYSMENU

    FONT 8, "MS Shell Dlg", 400, 0, 0x1

    BEGIN

    GROUPBOX "DDDD",IDC_STATIC,7,7,163,37

    LTEXT "M",IDC_STATIC,15,17,8,8

    EDITTEXT IDC_ME,13,25,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_M_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,55,25,11,12

    LTEXT "G",IDC_STATIC,69,17,8,8

    EDITTEXT IDC_GI,69,25,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_G_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,111,25,11,12

    LTEXT "O",IDC_STATIC,125,17,8,8

    EDITTEXT IDC_OR,125,25,40,12,ES_AUTOHSCROLL | ES_NUMBER

    CONTROL "",IDC_O_SPIN,"msctls_updown32",UDS_SETBUDDYINT |

    UDS_ALIGNRIGHT | UDS_AUTOBUDDY | UDS_ARROWKEYS |

    UDS_NOTHOUSANDS,167,25,11,12

    LTEXT "GGG",IDC_STATIC,7,48,15,8

    COMBOBOX IDC_GGG,7,58,164,80,CBS_DROPDOWN | CBS_UPPERCASE |

    WS_VSCROLL | WS_TABSTOP

    LTEXT "MMM",IDC_STATIC,180,14,17,8

    COMBOBOX IDC_MMM,180,25,120,80,CBS_DROPDOWNLIST | WS_VSCROLL |

    WS_TABSTOP

    LTEXT "VVV",IDC_STATIC,180,46,13,8

    COMBOBOX IDC_VVV,180,57,120,80,CBS_DROPDOWNLIST | WS_VSCROLL |

    WS_TABSTOP

    END

    /////////////////////////////////////////////////////////////////////////////

    //

    // DESIGNINFO

    //

    #ifdef APSTUDIO_INVOKED

    GUIDELINES DESIGNINFO

    BEGIN

    END

    #endif // APSTUDIO_INVOKED

    /////////////////////////////////////////////////////////////////////////////

    //

    // Menu

    //

    IDR_MENU1 MENU

    BEGIN

    POPUP "&Menu"

    BEGIN

    MENUITEM "Dialog with bug", ID_MENU_DIALOGWITHBUG

    MENUITEM "Dialog without bug", ID_MENU_DIALOGWITHOUTBUG

    MENUITEM SEPARATOR

    MENUITEM "&Exit", ID_MENU_FINE

    END

    END

    #endif // Italiano (Italia) resources

    /////////////////////////////////////////////////////////////////////////////

    #ifndef APSTUDIO_INVOKED

    /////////////////////////////////////////////////////////////////////////////

    //

    // Generated from the TEXTINCLUDE 3 resource.

    //

    /////////////////////////////////////////////////////////////////////////////

    #endif // not APSTUDIO_INVOKED

    // SpinCtrlBug.sln

    Microsoft Visual Studio Solution File, Format Version 8.00

    Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SpinCtrlBug", "SpinCtrlBug.vcproj", "{D0A6BD77-39CA-4B72-BA19-91AAF734708C}"

    ProjectSection(ProjectDependencies) = postProject

    EndProjectSection

    EndProject

    Global

    GlobalSection(SolutionConfiguration) = preSolution

    Release = Release

    EndGlobalSection

    GlobalSection(ProjectConfiguration) = postSolution

    {D0A6BD77-39CA-4B72-BA19-91AAF734708C}.Release.ActiveCfg = Release|Win32

    {D0A6BD77-39CA-4B72-BA19-91AAF734708C}.Release.Build.0 = Release|Win32

    EndGlobalSection

    GlobalSection(ExtensibilityGlobals) = postSolution

    EndGlobalSection

    GlobalSection(ExtensibilityAddIns) = postSolution

    EndGlobalSection

    EndGlobal

    // SpinCtrlBug.vcproj

    <?xml version="1.0" encoding="Windows-1252"?>

    <VisualStudioProject

    ProjectType="Visual C++"

    Version="7.10"

    Name="SpinCtrlBug"

    ProjectGUID="{D0A6BD77-39CA-4B72-BA19-91AAF734708C}"

    Keyword="Win32Proj">

    <Platforms>

    <Platform

    Name="Win32"/>

    </Platforms>

    <Configurations>

    <Configuration

    Name="Debug|Win32"

    OutputDirectory="Debug"

    IntermediateDirectory="Debug"

    ConfigurationType="1"

    CharacterSet="2">

    <Tool

    Name="VCCLCompilerTool"

    Optimization="0"

    PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS"

    MinimalRebuild="TRUE"

    BasicRuntimeChecks="3"

    RuntimeLibrary="5"

    UsePrecompiledHeader="0"

    WarningLevel="3"

    Detect64BitPortabilityProblems="TRUE"

    DebugInformationFormat="4"/>

    <Tool

    Name="VCCustomBuildTool"/>

    <Tool

    Name="VCLinkerTool"

    OutputFile="$(OutDir)/SpinCtrlBug.exe"

    LinkIncremental="2"

    GenerateDebugInformation="TRUE"

    ProgramDatabaseFile="$(OutDir)/SpinCtrlBug.pdb"

    SubSystem="2"

    TargetMachine="1"/>

    <Tool

    Name="VCMIDLTool"/>

    <Tool

    Name="VCPostBuildEventTool"/>

    <Tool

    Name="VCPreBuildEventTool"/>

    <Tool

    Name="VCPreLinkEventTool"/>

    <Tool

    Name="VCResourceCompilerTool"/>

    <Tool

    Name="VCWebServiceProxyGeneratorTool"/>

    <Tool

    Name="VCXMLDataGeneratorTool"/>

    <Tool

    Name="VCWebDeploymentTool"/>

    <Tool

    Name="VCManagedWrapperGeneratorTool"/>

    <Tool

    Name="VCAuxiliaryManagedWrapperGeneratorTool"/>

    </Configuration>

    <Configuration

    Name="Release|Win32"

    OutputDirectory="Release"

    IntermediateDirectory="Release"

    ConfigurationType="1"

    CharacterSet="0">

    <Tool

    Name="VCCLCompilerTool"

    Optimization="1"

    PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS"

    ExceptionHandling="FALSE"

    RuntimeLibrary="0"

    BufferSecurityCheck="FALSE"

    UsePrecompiledHeader="0"

    ProgramDataBaseFileName="$(IntDir)/"

    WarningLevel="3"

    WarnAsError="TRUE"

    Detect64BitPortabilityProblems="TRUE"

    DebugInformationFormat="0"

    CompileAs="0"/>

    <Tool

    Name="VCCustomBuildTool"/>

    <Tool

    Name="VCLinkerTool"

    AdditionalDependencies="comctl32.lib "

    OutputFile="$(OutDir)/SpinCtrlBug.exe"

    LinkIncremental="1"

    GenerateDebugInformation="FALSE"

    SubSystem="2"

    OptimizeReferences="2"

    EnableCOMDATFolding="2"

    TargetMachine="1"/>

    <Tool

    Name="VCMIDLTool"/>

    <Tool

    Name="VCPostBuildEventTool"/>

    <Tool

    Name="VCPreBuildEventTool"/>

    <Tool

    Name="VCPreLinkEventTool"/>

    <Tool

    Name="VCResourceCompilerTool"/>

    <Tool

    Name="VCWebServiceProxyGeneratorTool"/>

    <Tool

    Name="VCXMLDataGeneratorTool"/>

    <Tool

    Name="VCWebDeploymentTool"/>

    <Tool

    Name="VCManagedWrapperGeneratorTool"/>

    <Tool

    Name="VCAuxiliaryManagedWrapperGeneratorTool"/>

    </Configuration>

    </Configurations>

    <References>

    </References>

    <Files>

    <Filter

    Name="Source Files"

    Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"

    UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}">

    <File

    RelativePath=".SpinCtrlBug.c">

    </File>

    </Filter>

    <Filter

    Name="Header Files"

    Filter="h;hpp;hxx;hm;inl;inc;xsd"

    UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}">

    <File

    RelativePath=".resource.h">

    </File>

    </Filter>

    <Filter

    Name="Resource Files"

    Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"

    UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}">

    <File

    RelativePath=".SpinCtrlBug.rc">

    </File>

    </Filter>

    </Files>

    <Globals>

    </Globals>

    </VisualStudioProject>


Skip to main content