Example #1
0
BOOL Dlg_OnInitDialog(HWND hDlg,WPARAM wParam,LPARAM lParam)
{
	RECT   rect;
	int	   cx_scr,cy_scr;
	LPTSTR tabnames[]={TEXT("方程组"),TEXT("一元方程求根"),TEXT("函数插值拟合"),TEXT("微积分计算"),TEXT("常微分方程数值解"),TEXT("主成分分析"),0};         //分页项目名字
	LPTSTR dlgnames[]={MAKEINTRESOURCE(TAB_CONTROL_PAGE_1),		 //每页对应对话框的ID
					   MAKEINTRESOURCE(TAB_CONTROL_PAGE_2),
					   MAKEINTRESOURCE(TAB_CONTROL_PAGE_3),
					   MAKEINTRESOURCE(TAB_CONTROL_PAGE_4),
					   MAKEINTRESOURCE(TAB_CONTROL_PAGE_5),
					   MAKEINTRESOURCE(TAB_CONTROL_PAGE_6),0};
	Page_Proc tab_control_page_proc[]={TabPage_Proc_1,TabPage_Proc_2,TabPage_Proc_3,TabPage_Proc_4,TabPage_Proc_5,TabPage_Proc_6};

	cx_scr = GetSystemMetrics(SM_CXSCREEN);
	cy_scr = GetSystemMetrics(SM_CYSCREEN);
	
	LoadLibrary(TEXT("Riched20.dll"));  //为在对话框使用Rich Edit 2.0(必须加载DLL)
	
	GetWindowRect(hDlg,&rect);
	MoveWindow(hDlg,(cx_scr-rect.right)/2,(cy_scr-rect.bottom)/2,rect.right-rect.left,rect.bottom-rect.top,TRUE);
	Set_Dlg_Ico(hDlg,ICO_ID);									 //设置图标

	New_TabControl(&TabCtrl,GetDlgItem(hDlg,TAB_ID),tabnames,dlgnames,tab_control_page_proc);

	return TRUE;
}
/****************************************************************************
 *                                                                          *
 * Functions: FormMain_OnCommand related event code                         *
 *                                                                          *
 * Purpose : Handle WM_COMMAND messages: this is the heart of the app.		*
 *                                                                          *
 * History : Date      Reason                                               *
 *           00/00/00  Created                                              *
 *                                                                          *
 ****************************************************************************/
void btnDetails_Click (HWND hwnd)
{
	RECT rect;
	GetWindowRect( hwnd, &rect );
	mod *= -1;
	ShowWindow( GetDlgItem(hwnd,IDC_TAB1), mod > 0? SW_SHOW: SW_HIDE );

	if(!flag && mod==1)
	{
    static PWSTR tabnames[]= {L"Connection", L"Metadata", L"Cursors/Results", L"Debug", L"SSL", L"Misc", 0};
		static PWSTR dlgnames[]= {MAKEINTRESOURCE(IDD_TAB1),
							  	  MAKEINTRESOURCE(IDD_TAB2),
							  	  MAKEINTRESOURCE(IDD_TAB3),
							  	  MAKEINTRESOURCE(IDD_TAB4),
								    MAKEINTRESOURCE(IDD_TAB5),
                    MAKEINTRESOURCE(IDD_TAB6),0};

		New_TabControl( &TabCtrl_1,                 // address of TabControl struct
					          GetDlgItem(hwnd, IDC_TAB1), // handle to tab control
					          tabnames,                   // text for each tab
					          dlgnames,                   // dialog id's of each tab page dialog
					          &FormMain_DlgProc,          // address of main windows proc
					          NULL,                       // address of size function
					          TRUE);                      // stretch tab page to fit tab ctrl
		flag = true;		


    HWND ssl_tab = TabCtrl_1.hTabPages[4];
    HWND combo = GetDlgItem(ssl_tab, IDC_EDIT_sslmode);

    ComboBox_ResetContent(combo);

    ComboBox_AddString(combo, L"");
    ComboBox_AddString(combo, LSTR(ODBC_SSL_MODE_DISABLED));
    ComboBox_AddString(combo, LSTR(ODBC_SSL_MODE_PREFERRED));
    ComboBox_AddString(combo, LSTR(ODBC_SSL_MODE_REQUIRED));
    ComboBox_AddString(combo, LSTR(ODBC_SSL_MODE_VERIFY_CA));
    ComboBox_AddString(combo, LSTR(ODBC_SSL_MODE_VERIFY_IDENTITY));

    syncTabs(hwnd, pParams);
	}
	MoveWindow( hwnd, rect.left, rect.top, rect.right - rect.left, rect.bottom - rect.top + 310*mod, TRUE );
}