查看: 922|回复: 4

切换中文shitf+ctrl组合键怎么不好使呀!!!

[复制链接]

该用户从未签到

发表于 2014-6-16 23:37:50 | 显示全部楼层 |阅读模式
本帖最后由 oirrm 于 2014-6-17 23:39 编辑
  1. #include "stdafx.h"
  2. #include <osgDB/ReadFile>
  3. #include <osgDB/WriteFile>
  4. #include <osgViewer/ViewerEventHandlers>
  5. #include <osgWidget/WindowManager>
  6. #include <osgWidget/Box>
  7. #include <osgWidget/Input>
  8. #include <osgWidget/ViewerEventHandlers>

  9. #pragma comment( lib, "osgd.lib")   
  10. #pragma comment( lib, "osgViewerd.lib")   
  11. #pragma comment( lib, "osgDBd.lib")   
  12. #pragma comment( lib, "OpenThreadsd.lib")   
  13. #pragma comment( lib, "osgUtild.lib")  
  14. #pragma comment( lib, "osgGAd.lib")
  15. #pragma comment( lib, "osgTextd.lib")
  16. #pragma comment( lib, "osgSimd.lib")
  17. #pragma comment( lib, "osgWidgetd.lib")

  18. const unsigned int MASK_2D = 0xF0000000;

  19. int main(int argc, char** argv) {
  20.     osgViewer::Viewer viewer;

  21.     osgWidget::WindowManager* wm = new osgWidget::WindowManager(
  22.         &viewer,
  23.         1280.0f,
  24.         1024.0f,
  25.         MASK_2D,
  26.         osgWidget::WindowManager::WM_PICK_DEBUG
  27.     );
  28.    
  29.     osgWidget::Box*   box   = new osgWidget::Box("vbox", osgWidget::Box::VERTICAL);
  30.     osgWidget::Input* input = new osgWidget::Input("input", "", 50);

  31.     input->setFont("fonts/VeraMono.ttf");
  32.     input->setFontColor(0.0f, 0.0f, 0.0f, 1.0f);
  33.     input->setFontSize(15);
  34.     input->setYOffset(input->calculateBestYOffset("y"));
  35.     input->setSize(400.0f, input->getText()->getCharacterHeight());

  36.     box->addWidget(input);
  37.     box->setOrigin(200.0f, 200.0f);

  38.     wm->addChild(box);

  39.     viewer.setUpViewInWindow(
  40.         50,
  41.         50,
  42.         static_cast<int>(wm->getWidth()),
  43.         static_cast<int>(wm->getHeight())
  44.     );

  45.     osg::Camera* camera = wm->createParentOrthoCamera();

  46.     viewer.addEventHandler(new osgWidget::MouseHandler(wm));
  47.     viewer.addEventHandler(new osgWidget::KeyboardHandler(wm));
  48.     viewer.addEventHandler(new osgWidget::ResizeHandler(wm, camera));
  49.     viewer.addEventHandler(new osgWidget::CameraSwitchHandler(wm, camera));
  50.     viewer.addEventHandler(new osgViewer::WindowSizeHandler());

  51.     wm->resizeAllWindows();

  52.     viewer.setSceneData(camera);

  53.     return viewer.run();
  54. }

复制代码

该用户从未签到

发表于 2014-6-25 17:30:34 | 显示全部楼层
IME的事件接口是单独的,OSG默认并没有实现这样的事件处理

该用户从未签到

 楼主| 发表于 2014-6-27 23:24:04 | 显示全部楼层
array 发表于 2014-6-25 17:30
IME的事件接口是单独的,OSG默认并没有实现这样的事件处理

osg窗口不是用微软sdk函数createWindowEx创建的吗????没见createwindowEX创建窗口也没有加什么输入法接口呀

该用户从未签到

发表于 2014-7-1 08:30:41 | 显示全部楼层
我指的是message handling

该用户从未签到

 楼主| 发表于 2014-7-4 11:21:56 | 显示全部楼层
array 发表于 2014-7-1 08:30
我指的是message handling

阿威写的osgxi也不管用啊,WM_IME_STARTCOMPOSITION WM_IME_ENDCOMPOSITION WM_IME_COMPOSITION都无法响应啊 不知道是不是我osg版本是一年前的版本太低的缘故。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表