HideCaret()有在Windows XP(64位)无影响

问题描述 投票:0回答:1

我试图隐藏我的只读编辑控制插入符号。在Windows 10(64)插入符号隐藏和一切工作正常。但是,在Windows XP(x64)的插入符仍然可见。我做错了什么?

BOOL OnCommand(HWND hWnd, INT ID, HWND hWndCtl, UINT codeNotify) {

  switch (ID) {
    case IDC_EDIT1:
      switch (codeNotify) {
        case EN_SETFOCUS:
          HideCaret(hWndCtl);
          break;
      }
      break;
  }

  return FALSE;
}

BOOL CALLBACK DialogProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{
  switch(uMsg)
  {
    case WM_COMMAND: 
      return OnCommand(hWnd, (INT)LOWORD(wParam), (HWND)lParam, (UINT)HIWORD(wParam));
  }
  return FALSE;
}
windows winapi
1个回答
0
投票

要容易得多。

  1. 不要给编辑控件的焦点。您可以删除WS_TABSTOP风格。
  2. 不要使用在所有的编辑控制和使用静态控制。这还从来没有一个插入符。

你为什么要使用编辑器,但又想隐藏的插入符。接缝为X-Y的问题。

© www.soinside.com 2019 - 2024. All rights reserved.