1.请问调用哪个函数可以使edit控件只可读,不可写?我用setreaddonly()出了错误,有其他可用的函数吗?
2.何能实现一个能够不停闪烁的托盘图标?告诉我个大概谢谢
3.能不能在一个对话框资源内放置一个子窗口?怎么实现,告诉我个大概谢谢
4.能不能在一个对话框上增加一个工具拦(菜单拦已经增加),可我用如下代码却不能行,请问错在哪里?
int CHsqqserverDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
CToolBar m_ToolBar;
m_ToolBar=new CToolBar();
static UINT nButtonIDs[]={
ID_SERVER_START,
ID_SERVER_SET
};
if (!m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_BOTTOM))
{
TRACE0("Failed to create toolbar\n");
return -1;      
}
m_ToolBar.LoadBitmap(IDR_SERVER_TOOLBAR);
m_ToolBar.SetButtons(nButtonIDs,10);

解决方案 »

  1.   

    m_ToolBar=new CToolBar(); m_ToolBar不是指针
      

  2.   


    1.请问调用哪个函数可以使edit控件只可读,不可写?我用setreaddonly()出了错误,有其他可用的函数吗?试了一下
    CEdit::SetReadOnly 
    BOOL SetReadOnly( BOOL bReadOnly = TRUE );
    应该没有问题的,是不是你的调用方法不对啊?还可以用GetWindowLong和SetWindowLong函数。
    取得->修改->设置CWnd的Style也可以实现,不过显然要复杂的多。还有就是Edit控件的Style可以直接修改。
    Edit控件上右键->属性->Style->选上只读就可以了。
    2.何能实现一个能够不停闪烁的托盘图标?告诉我个大概谢谢
    其实就是动画托盘图标了。黑白两个图标循环轮流显示,不久闪烁了吗:)
    例子可以用"动画 托盘图标"在google上搜一下。3.能不能在一个对话框资源内放置一个子窗口?怎么实现,告诉我个大概谢谢
    问题好像还不太明确?每个控件不也是一个Window吗:)4.能不能在一个对话框上增加一个工具拦(菜单拦已经增加),可我用如下代码却不能行,请问错在哪里?
    ---
    CToolBar m_ToolBar;
    m_ToolBar=new CToolBar();
    --CToolBar m_ToolBar;<-声明m_ToolBar是一个CToolBar对象。
    m_ToolBar=new CToolBar(); <-新建一个CToolBar对象并将指针符给m_ToolBar。
    显然这两句重复(冲突)了。
      

  3.   

    GetDlgItem(IDC_EDIT2)->EnableWindow(false);
      

  4.   


    楼主要求的是只可读,不可写。
    EnableWindow的方法好像也没办法读了:)
      

  5.   

    to shinka(午夜妖灵):那个new操作本来是没加的,不能出现工具拦才加进去的,如果没有new也是不能在对话框上出现工具拦啊,是不是哪里出问题了?资源都设定好了。
    谢谢大侠们指教,收获不小,顺带再问个问题:我想在自己编写的程序在操作系统启动时运行,应该在程序中使用什么函数啊?
      

  6.   


    首先删掉new吧,嘿嘿。对话框中添加工具栏与普通的处理上有一定的差异。
    而上面的程序有一下几点问题。1. ToolBar的Style指定的不完整。(CBRS_ALIGN_TOP)
    2. 没有显式的去显示窗口。(ShowWindow)
    3. 没有对ToolBar进行重定位(RepositionBars)//--- OnInitDialog() ---
    if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, CBRS_ALIGN_TOP | CBRS_TOOLTIPS |
    CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
    !m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
    {
    TRACE0("Failed to create toolbar\n");
    return -1;      // Failure!
    }m_wndToolBar.ShowWindow(SW_SHOW);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
    //---资源包含没问题的话,应该就OK了:)> 我想在自己编写的程序在操作系统启动时运行,应该在程序中使用什么函数啊?基本上有一下几种常用方法:
    1. 最简单的就是加个Shortcut在"开始"菜单中的"启动"程序项里了。
       (主要用于用户级应用程序。如:MS Office等.)
    2. 利用Windows目录下的Win.ini文件中的run变量。编辑Win.ini,为run变量赋值。如run=要运行的程序。
       (好像不常被用到)
    3. 在Register的"HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run"里加入要运行的程序。
       (主要用于系统级应用程序。如:杀毒,防火墙等)
    4. 可以做成Service程序,并设置为自动启动。
       (主要用于底层系统服务。如:最常见"信使服务"等)
    5. 做成设备驱动程序并安装。
       (难度较大)
    X. 利用某些捆绑软件将自己的程序与系统一定执行的程序绑定在一起。伪装成系统程序被自动执行。
       (有些黑啊,哈哈)以上方法实现的难度是递增的(X除外)。
    3和4是比较推荐的。以上.
      

  7.   

    订正:方法3中的"Register"应该是"Registry "。即"注册表"。不好意思 ^-^ 
    以上.