我正在构建一个应用程序,我想在窗体上显示一个按钮.我想在两行上显示按钮的标题.我尝试在表单的OnCreate事件中使用以下代码,但它没有显示新行.
Button.Caption := 'Hello' + #13#10 + 'world';
Run Code Online (Sandbox Code Playgroud)
添加新行的任何其他方法?
我想执行一个彻底的LAN设备发现,这样我就可以创建一个类似于附加的图表,但是有IP和MAC地址等附加信息.
我尝试过Torry的代码:
type
PNetResourceArray = ^TNetResourceArray;
TNetResourceArray = array[0..100] of TNetResource;
function CreateNetResourceList(ResourceType: DWord;
NetResource: PNetResource;
out Entries: DWord;
out List: PNetResourceArray): Boolean;
var
EnumHandle: THandle;
BufSize: DWord;
Res: DWord;
begin
Result := False;
List := Nil;
Entries := 0;
if WNetOpenEnum(RESOURCE_GLOBALNET,
ResourceType,
0,
NetResource,
EnumHandle) = NO_ERROR then begin
try
BufSize := $4000; // 16 kByte
GetMem(List, BufSize);
try
repeat
Entries := DWord(-1);
FillChar(List^, BufSize, 0);
Res := WNetEnumResource(EnumHandle, Entries, List, BufSize);
if Res = ERROR_MORE_DATA then
begin
ReAllocMem(List, …Run Code Online (Sandbox Code Playgroud) 我更新了所有内置工具,supportlibrary和google Play服务.但是我仍然收到以下错误:
错误:任务执行失败':app:shrinkReleaseMultiDexComponents'
java.io.IOException:必须在输入jar之后指定输出jar [app\build\intermediates\multi-dex\release\componentClasses.jar],否则它将为空.
我能够通过设置来解决这个问题minifyEnabled到false,但是这不是我想要的.有谁知道如何修理它?
默认情况下,新创建的位图似乎具有(白色)背景.至少,对Pixels属性的查询确认.但是,当Transparent设置为true 时,为什么背景颜色不用作透明颜色?
考虑这个简单的测试代码:
procedure TForm1.Button1Click(Sender: TObject);
var
Bmp: TBitmap;
begin
Bmp := TBitmap.Create;
try
Bmp.Width := 100;
Bmp.Height := 100;
Bmp.Transparent := True;
Canvas.Draw(0, 0, Bmp); // A white block is drawn
Bmp.Canvas.Brush.Color := Bmp.Canvas.Pixels[0, 99]; // = 'clWhite'
Bmp.Canvas.FillRect(Rect(0, 0, 100, 100));
Canvas.Draw(0, 100, Bmp); // "Nothing" is drawn
finally
Bmp.Free;
end;
end;
Run Code Online (Sandbox Code Playgroud)
出于某种原因,整个位图表面必须先涂上它才能显得透明,这听起来很奇怪.
尝试以下变体来消除对FillRect所有具有相同结果(没有透明度)的调用:
Brush.Color,Brush.Handle := CreateSolidBrush(clWhite),PixelFormat := pf32Bit,IgnorePalette := True,TransparantColor := clWhite,TransparantMode …我有一个选择框,其中包含以下内容(已缩短):
<select id="viewSelector" name="when" style="width:92%;">
<option value="USA">USA</option>
<option value="Australia">Australia</option>
<option value="Germany">Germany</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果用户登录控制面板并想要更改他的国家/地区,他将收到此表单.我的问题是,每次美国都是默认设置,我无法根据用户所在国家/地区进行更改.例如,该用户居住在澳大利亚.他想将自己的国家改为美国并转到此页面.我希望展示的国家是澳大利亚.如果这是有道理的,请告诉我.
一位同事和我本人正在就哪种方式减轻系统资源负担进行辩论.(注意:这不是我想要答案的问题.相反,标题和粗体下面的行是我寻求答案的问题.)
Run Code Online (Sandbox Code Playgroud)1. Using KeyPreview to get the keypresses on a form.
要么
Run Code Online (Sandbox Code Playgroud)2. Using defining an OnMessage procedure and handling it there.
乍一看似乎KeyPreview不会占用系统负担,因为定义OnMessage过程会导致我们的程序检查每条消息.我们不关心的注意消息会导致它被第一个if语句跳出.在最坏的情况下,我们会为每条消息执行if语句.
但我们想知道Delphi如何处理KeyPreview属性......我们想知道Delphi是否在内部定义了自己的OnMessage并查看消息然后触发与keypresses相关的事件.
如果是这种情况,那么两种方法都会大致相同吗?
我正在寻找解决方案来删除<li>使用javascript数组过滤的标签.
阵:
var mygroups=["1","8","3","4","5"]
Run Code Online (Sandbox Code Playgroud)
示例(输入):
<li><div>1 element.</div></li>
<li><div>2 element. This is my <span>post</span> into new group</div></li>
<li><div>3 element. Another one</li>
<li><div>
<a href="javascript:void(0);">Actor</a>
<a href="/groups/viewgroup/1-first-group">First group</a>
</div>
</li>
<li><div><a href="javascript:void(0);">Actor</a>
<a href="/groups/viewgroup/10-ten-group">Ten group</a>5 element. This is my <span>new post</span></div></li>
<li>
<div>6 element. <a href="/j1.5/index.php/jomsocial/63-zzz/profile">Actor</a></div>
<div><a href="/groups/viewgroup/test/5-second-group">Group other</a></div>
</li>
<li>7 element.</li>
<li><div><a href="/groups/viewgroup/test/8-second-group">First group</a></div></li>
<li><div><a href="/groups/viewgroup/16-other-group">First group</a></div></li>
<li><div><a href="/j1.5/index.php?option=com_community&view=groups&task=viewgroup&groupid=1&Itemid=4">My other group </a></div></li>
Run Code Online (Sandbox Code Playgroud)
如何获取此输出(删除锚点中不包含数组中的组的所有实例):
<li><div>
<a href="javascript:void(0);">Actor</a>
<a href="/groups/viewgroup/1-first-group">First group</a>
</div>
</li>
<li>
<div>6 element. <a href="/j1.5/index.php/jomsocial/63-zzz/profile">Actor</a></div>
<div><a href="/groups/viewgroup/test/5-second-group">Group other</a></div> …Run Code Online (Sandbox Code Playgroud) 我想动态更改一个标题TButton.问题是,TButton如果标题太长而无法放在按钮上,则不会自行调整大小; 所以文字在按钮的边缘流血.
如何让按钮更改大小以适合标题?
一些想法:
TButton和集AutoSize=True(没试过这个,不知道它是否会起作用).到目前为止,我觉得我的失败在于搜索术语,因为有关此的信息必须非常普遍.基本上我正在寻找在调整表单大小时对多个组件执行调整大小时的常见解决方案和最佳实践.
我有一个基于组件的表单TScrollBox.ScrollBox包含在运行时动态添加的行.它们基本上是一个子组件.每个人左边都有一个图像,右边有一个备忘录.基于图像的宽度和纵横比设置高度.在调整滚动框的大小时,循环设置触发行自身内部调整大小的行的宽度.如果高度发生变化,循环也会设置相对顶部位置.
截屏:
大约16行表现良好.我的目标是接近32排,非常不稳定,并且可以在100%使用时固定核心.
我试过了:
我想允许在调整大小期间进行行调整大小,以预览图像在行中的大小.这消除了一个明显的解决方案,在某些应用中是可接受的损失.
现在,行内部的调整大小代码是完全动态的,并且基于每个图像的尺寸.我计划尝试的下一件事是基本上根据集合中的最大图像指定宽高比,最大宽度/高度.这应该减少每行的数学量.但似乎问题更多的是调整大小事件和循环本身?
组件的完整单元代码:
unit rPBSSVIEW;
interface
uses
Classes, Controls, Forms, ExtCtrls, StdCtrls, Graphics, SysUtils, rPBSSROW, Windows, Messages;
type
TPBSSView = class(TScrollBox)
private
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure ResizeRows(Sender: TObject);
procedure AddRow(FileName: String);
procedure FillRow(Row: Integer; ImageStream: TMemoryStream);
end;
var
PBSSrow: Array of TPBSSRow;
Resizingn: Boolean;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Standard', [TScrollBox]);
end;
procedure TPBSSView.AddRow(FileName: String);
begin
SetLength(PBSSrow,(Length(PBSSrow) + 1));
PBSSrow[Length(PBSSrow)-1] := TPBSSRow.create(self);
With …Run Code Online (Sandbox Code Playgroud) 我有一个TScrollBox,其RichEdit比滚动框大,因此两个侧滚动条都出现在滚动框中.然后我有一个DoTask调用的函数RichEdit.SetFocus.
当我向下滚动到我想要查看部分文本控件的位置,然后调用时DoTask,ScrollBox将自动滚动到RichEdit的顶部.我怎么能避免这种情况?
delphi ×7
html ×2
android ×1
autosize ×1
bitmap ×1
button ×1
delphi-2010 ×1
discovery ×1
html-lists ×1
jquery ×1
lan ×1
php ×1
proguard ×1
scroll ×1
transparency ×1