对于我的网站的主导航,有一个980px宽的div,主要导航链接为ul.我试图使导航链接拉伸以均匀地适合div的宽度.
<div style="width: 980px;">
<ul id="horizontal-style">
<li><a href="#">Nav Item</a></li>
<li><a href="#">Short Item</a></li>
<li><a href="#">Really Long Nav Item</a></li>
<li><a href="#">Nav Link</a></li>
<li><a href="#">Another Link</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我正在做一些典型的css来横向创建ul列表(float:left,display:block).我可以调整li的填充以使其非常接近,但我真正需要的是一种使其拉伸以适应自动的方法.可能?
编辑 难度1:无法使用表格.难度2:每个导航项目的宽度不同,以适应更长和更短的链接名称.
Windows应用程序区分库(DLL)和应用程序(EXE).Java是否具有同等的区别?
总结:
假设我有一个TForm和两个面板.面板与alTop和alClient对齐.alClient面板包含一个TPaintBox,其OnPaint涉及绘图代码.
组件上DoubleBuffered的默认值为false.
在绘图过程中,闪烁是显而易见的,因为表格,面板都绘制了它们的背景.
由于表单由面板覆盖,因此拦截其WM_ERASEBKGND消息可能很好.如果没有,可以看到面板上的闪烁,并在调整窗体大小时在面板的右边缘闪烁,因为窗体会绘制其背景.
其次,因为alTop面板是一个按钮的容器,所以将DoubleBuffered设置为true可能很好,让Delphi确保它没有闪烁.它可能不会带来太多的性能负担.
第三,由于alClient面板仅用作另一个绘图组件的容器,因此该面板很可能不参与组成最终绘图.在这方面,使用TPanel后代而不是标准TPanel可能是好事.在这个TPanel后代中,覆盖受保护的过程Paint并在过程中不执行任何操作,尤其是不继承调用以避免在基类TCustomPanel.Paint中进行FillRect调用.此外,拦截WM_ERASEBKGND消息并且内部也不执行任何操作.这是因为当TPanel.ParentBackground为False时,Delphi负责重新绘制背景,当它为True时,ThemeService负责.
最后,在TPaintBox中绘制没有闪烁:
(1)使用VCL内置绘图例程,可能更好......
(2)使用OpenGL,启用OpenGL的双缓冲.
(3)......
===问:如何消除TPaintBox右边缘的闪烁?===
假设对于一个TForm,我有两个面板.顶部相对于表格对齐alTop并被视为按钮的容器.另一个是相对于表单对齐的alClient,并被视为绘制组件的容器(例如来自VCL的TPaintBox,或来自Graphics32的TPaintBox32).对于后一个面板,它的WM_ERASEBKGND消息被截获.
现在,我在以下示例代码中使用TPaintBox实例.在它的OnPaint处理程序中,我有两个选择来绘制一个我希望无闪烁的绘图.选择1是在填充矩形后绘制的.由于其父面板不应擦除背景,因此绘图应无闪烁.选择2绘制在TBitmap上,然后将其Canvas复制回paintbox.
然而,两种选择都是闪烁的,第二种选择尤其是闪烁.我主要关心的是选择1.如果你调整表格的大小,你可以看到闪烁的主要部分发生在右边缘.为什么会这样?有人可以帮助评论原因和可能的解决方案吗?(注意,如果我在这里使用TPaintBox32而不是TPaintBox,右边缘根本不会闪烁.)
我的第二个担忧是,当使用选项1时,闪烁的次要部分会随机出现在绘图箱上.如果您快速调整表单大小,它不是很明显但仍然可以观察到.此外,当使用选择2时,这种闪烁变得更加严重.我没有找到原因.有人可以帮助评论可能的原因和解决方案吗?
任何建议表示赞赏!!
unit uMainForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
ExtCtrls, Dialogs;
type
TMainForm = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FPnlCtrl, FPnlScene: TPanel;
FPbScene: TPaintBox;
OldPnlWndProc: TWndMethod;
procedure PnlWndProc(var Message: TMessage);
procedure OnScenePaint(Sender: TObject);
public
{ Public declarations }
end;
var
MainForm: TMainForm;
implementation
{$R *.dfm}
procedure TMainForm.FormCreate(Sender: TObject);
begin
Self.Color := clYellow;
Self.DoubleBuffered := …Run Code Online (Sandbox Code Playgroud) 假设我有一个带有4个边框的UserControl:
<Border />
<Border />
<Border />
<Border />
Run Code Online (Sandbox Code Playgroud)
现在在我的资源中,我可以去:
<Style TargetType="{x:Type Border}">
... change some properties here
</Style>
Run Code Online (Sandbox Code Playgroud)
现在这一切都很好,但它将针对我的UserControl中的所有边框.但是,如果我只想针对它们的一部分呢?
我想去:
<Border Class="Type1" />
<Border Class="Type1" />
<Border />
<Border />
Run Code Online (Sandbox Code Playgroud)
然后去:
<Style TargetType="{x:Type Border}" TargetClass="Type1">
... change some properties here
</Style>
Run Code Online (Sandbox Code Playgroud)
但这显然不存在,还有其他方法可以实现我追求的目标吗?谢谢
有没有办法通过XML在TextView中加粗文本?
<TextView
android:textSize="12dip"
android:textAppearance="bold" -> ??
</TextView>
Run Code Online (Sandbox Code Playgroud)
谢谢
我正在尝试使用Ruby中的Net :: IMAP来搜索我发送的所有邮件,但是我在选择除了INBOX以外的任何东西时遇到了麻烦.
imap.select('INBOX')
Run Code Online (Sandbox Code Playgroud)
工作正常,但是
imap.select('Mail/sent-mail')
Run Code Online (Sandbox Code Playgroud)
如在Net :: IMAP文档中显示给我"未知邮箱".
顺便说一下,这将与gmail一起使用.
我也试过在我的imap.search()中添加"in","anywhere",但是没有解析.
当前代码:
imap.select('INBOX')
now = Time.now.localtime - 1209600 #two weeks
since = now.day.to_s() + "-" + Date::MONTHNAMES[now.month] + "-" + now.year.to_s()
puts "since"
puts since
begin
mail_ids = imap.search(["FROM", "me", "SINCE", since])
mail_ids.each do |id|
text = imap.fetch(id, 'BODY[HEADER.FIELDS (SUBJECT)]').to_s.split("{").second.chop
puts text
end
end
Run Code Online (Sandbox Code Playgroud) 如果我想将私钥和公钥存储在一个文件中,最容易使用的格式是什么?特别是如果我打算使用 Java 的 BouncyCastle 库?
我正在尝试使用ExifInterface更改exif标签.我使用setAttribute()并调用saveAttributes().标签暂时保存,然后下一次旧值仍然存在且尚未更新................
例:
ExifInterface exifInterface = new ExifInterface(filePath);
String o1 = exifInterface.readAttribute(TAG_ORIENTATION); //o1 is "0"
exifInterface.setAttribute(TAG_ORIENTATION, "90");
exifInterface.saveAttributes();
String o2 = exifInterface.readAttribute(TAG_ORIENTATION); //o2 is "90"
// relaunch app, read attribute for same photo
String o3 = exifInterface.readAttribute(TAG_ORIENTATION); //o3 is "0" again, sould be "90"
Run Code Online (Sandbox Code Playgroud) 我有一个内存泄漏的问题.我有一个基类指针.从中,我new用来分配不同的派生类.然后,当我尝试delete使用引用(不是类型转换)的那些类时,我得到内存泄漏.我研究了这个问题,发现我应该在基类中添加一个虚拟析构函数,但是我尝试了这个并且仍然有内存泄漏; 也就是说,根据我的任务管理器,每次使用基类指针分配和删除派生类时,内存使用量会继续增加.我试图使它成为一个抽象的析构函数,并在派生类中添加了析构函数,但是我得到了一个未定义的引用错误.我也尝试将指针类型转换为派生类指针delete,但显然这会使程序崩溃.
有谁知道我应该怎么做?
示例代码:
class A {
public:
A();
~A() {};
virtual ~A(); /*or*/
virtual ~A()=0; /*or*/
/*or nothing?*/
}
class B: private A {
public:
B();
~B() {}; /*this?*/
/*or nothing?*/
}
Run Code Online (Sandbox Code Playgroud) 我在互联网上寻找一个很好的Qt + Lisp实现,但找不到任何.大多数项目都被关闭了.
有人知道一个很好的Common Lisp + Qt集成吗?
提前致谢.
android ×2
bouncycastle ×1
c# ×1
c++ ×1
common-lisp ×1
css ×1
delphi ×1
exif ×1
file ×1
flicker ×1
format ×1
gmail ×1
html ×1
html-lists ×1
image ×1
imap ×1
java ×1
layout ×1
lisp ×1
memory-leaks ×1
paintbox ×1
polymorphism ×1
qt ×1
qt4.6 ×1
resources ×1
ruby ×1
textview ×1
tpanel ×1
wpf ×1
xaml ×1