⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 13419.html

📁 以电子书的形式收集了VB一些常见问题解决方法,可以很方便的查找自己需要解决的问题.对一些VB初学者很用.
💻 HTML
字号:
<html>
  <head>
    <title>大家帮忙看一看这是不是 VB6 的 bug</title>
  </head>
  <body bgcolor="#FFFFFF" vlink="#808080">
    <center>
      <h1>大家帮忙看一看这是不是 VB6 的 bug</h1>
    </center>
<hr size=7 width=75%>

<hr size=7 width=75%><p>
Posted by <a href="mailto:sephiroth@optimasoft.com.tw">Sephiroth</a> on May 26, 1999 at 17:06:00:<p>
近来在写作 AX Control 时发现一个问题:<p>假设 UserControl.Name = MyCtrl, 它有一个 PropertyPage.Name = MyPage<br>在 UserControl 上设定两个属性存放图片:<p>1. PicCtrl As StdPicture: <br>   只能从 MyCtrl 的 properties window 设定图片<br>2. PicPage As StdPicture:<br>   只能从属性页 MyPage 设定图片 (将 Don't show in property <br>   browser 打勾)<p>MyCtrl 的程式如下:(前面的宣告我就省略了...)<p>Public Property Get PicCtrl() As StdPicture<br>    Set PicCtrl = mobjPicCtrl<br>End Property<p>Public Property Set PicCtrl(vData As StdPicture)<br>    Set mobjPicCtrl = vData<br>    PropertyChanged "PicCtrl"<br>    PaintPicture mobjPicCtrl, 0, 0<br>End Property<p>Public Property Get PicPage() As StdPicture<br>    Set PicPage = mobjPicPage<br>End Property<p>Public Property Set PicPage(vData As StdPicture)<br>    Set mobjPicPage = vData<br>    PropertyChanged "PicPage"<br>    PaintPicture mobjPicPage, 0, 100<br>End Property<p><br>Private Sub UserControl_Paint()<br>    PaintPicture mobjPicCtrl, 0, 0<br>    PaintPicture mobjPicPage, 0, 100<br>End Sub<p>Private Sub UserControl_ReadProperties(PropBag As PropertyBag)<br>    With PropertyBag<br>        Set mobjPicCtrl = .ReadProperty("PicCtrl")  <br>        Set mobjPicPage = .ReadProperty("PicPage")<br>    End With<br>End Sub<p>Private Sub UserControl_WriteProperties(PropBag As PropertyBag)<br>    With PropertyBag<br>        .WriteProperty "PicCtrl", mobjPicCtrl<br>        .WriteProperty "PicPage", mobjPicPage<br>    End With<br>End Sub<p>MyPage 的程式如下:(不重要的地方我也省略了)<br>在 MyPage 上面放一个 PictureBox.Name = pic, <br>一个 Common Dialog.Name = cdl<br>在 pic 的 MouseDown 写以下程式:<p>Private Sub pic_MouseDown(Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single)<br>    On Error Resume Next<br>    Select Case Button<br>        Case vbLeftButton<br>            With cdl<br>                .Filter = "*.gif;*.bmp;*.dib;*.jpg;*.wmf;*.emf;*.ico;*.cur|*.gif;*.bmp;*.dib;*.jpg;*.wmf;*.emf;*.ico;*.cur"<br>                .ShowOpen<br>                If Err.Number Then<br>                    Err.Clear<br>                Else<br>                    Set pic.Picture = LoadPicture(cdl.FileName)<br>                    Set SelectedControls(0).PicPage = pic.Picture<br>                End If<br>            End With<br>        Case vbRightButton<br>            Set pic(Index).Picture = Nothing<br>    End Select<br>End Sub<p>Private Sub PropertyPage_SelectionChanged()<br>    Set pic.Picture = SelectedControls(0).PicPage<br>End Sub<p><br>这程式只有在一种状况下会出错, 如果 PicPage 的图片是 icon 而且是<br>16 色以上的 icon, 那么在设定完成之后, 关闭 Form 再打开, 无论如何<br>PicPage 都会变成只有 16 色的 icon; 反之, 如果我是设定 PicCtrl<br>是一个 24 bit色的 icon 呢? 读取之后, 并不会发生颜色错乱的问题.<br>至于其它格式的图档(jpeg/pcx/gif/bmp)则不会发生问题, 其它格式则没<br>试过. 不知这是 VB6 的 bug 或是程式的问题?<br>
<br>
<br><hr size=7 width=75%><p>
<a name="followups">Follow Ups:</a><br>
<ul><!--insert: 13419-->
<!--top: 13422--><li><a href="13422.html">不对! 不对! 应该还有问题存在</a> <b>Sephiroth</b> <i>17:37:35 5/26/99</i>
(<!--responses: 13422-->0)
<ul><!--insert: 13422-->
</ul><!--end: 13422-->
<!--top: 13421--><li><a href="13421.html">发现问题所在</a> <b>Sephiroth</b> <i>17:27:36 5/26/99</i>
(<!--responses: 13421-->0)
<ul><!--insert: 13421-->
</ul><!--end: 13421-->
</ul><!--end: 13419-->
<br><hr size=7 width=75%><p>

</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -