论坛风格切换切换到宽版
  • 18181阅读
  • 51回复

版主请帮我看一下 [复制链接]

上一主题 下一主题
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 20 发表于: 2015-09-27
我没有安装 Win10,所以不能测试。
你将 DeinitializeSetup 里面的那三行指令逐个取消(前面加 //)试试看,看到底是哪个指令的问题。
离线xcex2012

发帖
28
金钱
270
威望
27
只看该作者 21 发表于: 2015-09-28
回 20楼(gnatix) 的帖子
还是不行

我是参照这个源码添加的精灵插件 这个源码在win10下正常
360Dome.zip (709 K) 下载次数:20


离线546242502

发帖
332
金钱
-3060
威望
-306
只看该作者 22 发表于: 2015-09-28
我在 Windows 7 x64  测试完全没问题, 我在 Windows 8 x64 测试出现如楼主所述问题,
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 23 发表于: 2015-09-29
看来的确是和操作系统有关。
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 24 发表于: 2015-09-29
回 21楼(xcex2012) 的帖子
xcex2012:还是不行 我是参照这个源码添加的精灵插件 这个源码在win10下正常 ....... (2015-09-28 09:44) 

这个代码使用同样的插件,而且代码基本一致,所以真的不能解释为什么这个代码没有问题,而另外一个代码却有问题。

提示一点:你好像使用的是 Unicode 版 INNO,但是两个代码中都调用了非 Unicode 函数,这个虽然不一定是问题,但是最好还是调用相应的 Unicode 函数,即用 xxxW@yyy 代替 xxxA@yyy。
离线xcex2012

发帖
28
金钱
270
威望
27
只看该作者 25 发表于: 2015-10-03
回 24楼(gnatix) 的帖子
请问怎么实现拖阴影移动安装窗口




离线axlswd

发帖
95
金钱
910
威望
91
只看该作者 26 发表于: 2015-10-04
回 25楼(xcex2012) 的帖子
xcex2012:请问怎么实现拖动阴影移动安装窗口  (2015-10-03 18:23) 

楼上的效果确定是用INNO做出来的吗?我曾经见到过可以拖拽阴影部分的界面,不过是用NSIS打包的。
离线xcex2012

发帖
28
金钱
270
威望
27
只看该作者 27 发表于: 2015-10-05
回 26楼(axlswd) 的帖子
axlswd:楼上的效果确定是用INNO做出来的吗?我曾经见到过可以拖拽阴影部分的界面,不过是用NSIS打包的。 (2015-10-04 22:42) 

确定
离线gnatix

发帖
7696
金钱
-8279
威望
-828
只看该作者 28 发表于: 2015-10-06
回 25楼(xcex2012) 的帖子
xcex2012:请问怎么实现拖拽阴影移动安装窗口 ....... (2015-10-03 18:23)

只要修改下面红色部分就行了。
procedure WizardFormMouseMove(Sender: TObject; Shift: TShiftState;
  X, Y: Integer);
  begin
    WizardForm.Show;
    if IsFrameDragging then
      begin
        WizardForm.Left := WizardForm.Left + X - dx;
        WizardForm.Top  := WizardForm.Top + Y - dy;
        Frame.Left      := WizardForm.Left - 50;
        Frame.Top       := WizardForm.Top - 50;
      end;
  end;

procedure CreateFrame;
  begin
    IsFrameDragging := false;
    Frame := TForm.Create(nil);;
    Frame.BorderStyle := bsNone;
    CreateFormFromImage(Frame.Handle, ExpandConstant('{tmp}\WizardFormShadow.png'));
    with TLabel.Create(Frame) do
      begin
        Parent      := Frame;
        AutoSize    := false;
        Left        := 0;
        Top         := 0;
        Width       := Frame.ClientWidth;
        Height      := Frame.ClientHeight;
        OnMouseUp := @WizardFormMouseUp;
        OnMouseDown := @WizardFormMouseDown;
        OnMouseMove := @WizardFormMouseMove;
      end;
    WizardForm.Left := Frame.Left + 50;
    WizardForm.Top := Frame.Top + 50;
    Frame.Show;
  end;



离线xcex2012

发帖
28
金钱
270
威望
27
只看该作者 29 发表于: 2015-10-06
回 28楼(gnatix) 的帖子
gnatix:只要修改下面红色部分就行了。 procedure WizardFormMouseMove(Sender: TObject; Shift: TShiftState;  X, Y: Integer);  begin....... (2015-10-06 02:23) 

成功了 谢谢