设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
12
返回列表 发新帖
楼主: sizz123
打印 上一主题 下一主题

接"rm实现输入信息筐"而做的范例

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
11
 楼主| 发表于 2008-5-11 04:55:14 | 只看该作者
以下引用orochi2k于2008-5-9 18:28:22的发言:

呃...终于写出接近完美的方法了...统一了下编码为UNICODE
然后基于文件的同步...


[本贴由作者于 2008-5-9 21:08:50 最后编辑]

   是说汉字问题?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10049
在线时间
4430 小时
注册时间
2005-10-22
帖子
6953

开拓者贵宾

12
发表于 2008-5-11 19:37:29 | 只看该作者
嗯...统一把两边的编码全转UNICODE了,然后中间前后加了开始和中断,中间再检查信息输入误差之类的东东确保转码正确...于是,完美中文了...(甚至还包含日文,韩文之类)

接着,使用基于文件的同步方式...
那啥...VB没写那内容时文件不存在
RM在某文件不存在时死循环刷画面(防挂起)
然后VB写了文件后
RM检查到了跳出循环条件...去读文件...
于是...搞定了...
最后RM负责把临时文件灭掉...
(VB窗口被强行挂在最前显示,且去掉正常的关闭)


呃...可能搞得有点太复杂了...


试验效果为石器时代最新输入框...交给玩家测试一周,观察中...
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
13
 楼主| 发表于 2009-6-12 08:00:00 | 只看该作者
  怎么把窗体挂在最前面?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10049
在线时间
4430 小时
注册时间
2005-10-22
帖子
6953

开拓者贵宾

14
发表于 2008-5-12 04:19:34 | 只看该作者
以下引用sizz123于2008-5-11 19:05:00的发言:

怎么把窗体挂在最前面?

用神奇的API


去处正常关闭和窗口前置代码如下

Private Declare Function SetWindowPos Lib "user32" ( _
ByVal hWnd As Long, _
ByVal hWndInsertAfter As Long, _
ByVal x As Long, ByVal y As Long, _
ByVal cx As Long, ByVal cy As Long, _
ByVal wFlags As Long _
) As Long
Const HWND_TOPMOST = -1
Const SWP_SHOWWINDOW = &H40

Private Declare Function GetSystemMenu Lib "user32" (ByVal hWnd As Long, _
    ByVal bRevert As Long) As Long

Private Declare Function RemoveMenu Lib "user32" (ByVal hMenu As Long, _
    ByVal nPosition As Long, ByVal wFlags As Long) As Long
Private Const MF_REMOVE = &H1000&
Private Const SC_COLSE = &HF060
Private Const SC_MAXIMIZE = &HF030
Private Const SC_MINIMIZE = &HF020

以及要进行的窗口的代码
Private Sub Form_Load()
Dim retValue As Long
retValue = SetWindowPos(Me.hWnd, HWND_TOPMOST, Me.CurrentX, Me.CurrentY, 300, 300, SWP_SHOWWINDOW)
  RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_COLSE, MF_REMOVE
  RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_MAXIMIZE, MF_REMOVE
  RemoveMenu GetSystemMenu(Me.hWnd, 0), SC_MINIMIZE, MF_REMOVE
End Sub
'将窗体设置为处于所有窗口的顶层,注意在 VB 中运行时,可能不行,但编译成EXE后就可以了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
0 小时
注册时间
2007-12-31
帖子
107
15
发表于 2008-5-13 02:40:35 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
16
 楼主| 发表于 2008-5-13 17:03:30 | 只看该作者
   联网还没有什么兴趣去做。反正数据都可以传输,以后用vb完全代替rm做窗口是完全可能的。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
215 小时
注册时间
2007-8-16
帖子
80
17
发表于 2008-5-13 20:44:47 | 只看该作者
不大会用~~
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
18
 楼主| 发表于 2008-5-16 02:20:06 | 只看该作者
以下引用五彩西瓜于2008-5-13 12:44:47的发言:

不大会用~~


   这只是个还没有成型的范例,能发展,但目前不能使用
-----------------------------------------------------------------------------------
    不能使用的1个因素是"数据传输的数量问题"----由于没有找到rm连接数据库的方法(常用的数据库),所以目前只能通过文本来传输少量的数据.所以,目前只能用在起名字之类的地方.
-----------------------------------------------------------------------------------
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
20 小时
注册时间
2005-10-24
帖子
1571
19
 楼主| 发表于 2008-5-19 17:07:11 | 只看该作者
setwindowpos..是不是要在rm和vb中都要写呢?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
1
星屑
10049
在线时间
4430 小时
注册时间
2005-10-22
帖子
6953

开拓者贵宾

20
发表于 2008-5-20 05:25:19 | 只看该作者
呃...我只在VB里写了...测试时可能没反应,编译完拉出EXE貌似有效
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 08:47

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表