我想用一个"drop-box"扩展一个打开/保存对话框,它应该看起来像一个TPanel(斜角).代码已经存在 - 我使用带有WNDCLASS名称"Edit"的CreateWindowEx().
我已经搜索了一个解决方案,用纯WinAPI绘制TPanel(分别是斜面STATIC),但没有找到任何东西.
MS Spy ++告诉我,TPanel的WNDCLASS名称为"TPanel"(听起来不像纯WinAPI?)
我现在尝试了以下代码,但是当我尝试使用类名"TPanel"而不是"EDIT"或"STATIC"时,我会得到一个AV.
procedure TForm1.Button1Click(Sender: TObject);
begin
CreateWindowEx(
WS_EX_LEFT or WS_EX_LTRREADING or WS_EX_RIGHTSCROLLBAR or WS_EX_CONTROLPARENT,
'TPanel',
'Hello World',
WS_CHILDWINDOW or WS_VISIBLE or WS_CLIPSIBLINGS or WS_CLIPCHILDREN,
0, 0, 100, 100,
Handle, 0, hInstance, nil);
end;
Run Code Online (Sandbox Code Playgroud)
你能帮我么?
关心
Daniel Marschall
PS:你能告诉我如何在StackOverflow.com中编写delphi高亮显示的代码吗?
我的剧本有问题; 我想在按下按钮时重新绘制一个新图像(显示另一个图像),但该按钮不执行任何操作...
ActionListener one = new ActionListener() {
public void actionPerformed(ActionEvent e) {
panel2.revalidate();
panel2.repaint();
}
};
btn1.addActionListener(one);
JLabel test1 = new JLabel(myDeckOfCards.giveCardPlayer1().getImage());
panel2.add(lab1);
panel2.add(test1);
panel2.add(pn5);
panel2.add(pn1);
panel2.add(btn1);
Run Code Online (Sandbox Code Playgroud) 我怎么画一张照片TPanel?我还想确定X,Y来定义Panel上的确切位置.
我正在使用WinForms和C#.
我正在开发的应用程序在面板内绘制行的矩形(使用g.DrawRectangle()).面板可以容纳6个宽度的矩形(我不想有水平滚动).我通过计算行中的矩形,然后添加到y第六个矩形之后的值,在应用程序中控制它.
在垂直方向上,我希望能够添加无限长方形并向下滚动以查看它们.现在,正在添加矩形,但Panel不会滚动(它们只是在屏幕上添加).
有没有办法添加垂直滚动条?我已经尝试将AutoScroll属性设置为true,但这没有做任何事情.
Object reference not set to an instance of an object当我试图找到一个Panel控件时,我一直收到错误Repeater.但其他控制措施都很好吗?谁能看到这里有什么问题?
这就是我选择控件的方式:
Panel pnlSubCategories = (Panel)e.Item.FindControl("pnlSubCategories");
Run Code Online (Sandbox Code Playgroud)
标记:
<asp:Repeater ID="rptInnerCategories" runat="server" OnItemDataBound="rptCategories_OnItemDataBound">
<ItemTemplate>
<li id="liCategory" runat="server">
<asp:HyperLink ID="lnkCategory" runat="server">
<span><asp:Literal ID="litCategory" runat="server" Visible="true" /></span>
<asp:Image ID="imgMan" runat="server" Visible="false" /></asp:HyperLink>
<asp:Panel ID="pnlSubCategories" runat="server" Visible="false">
<ul>
<asp:Repeater ID="rptSubCategories" runat="server" Visible="false" OnItemDataBound="rptSubCategories_OnItemDataBound">
<ItemTemplate>
<li id="liSubCategory" runat="server">
<asp:HyperLink ID="lnkSubCategory" runat="server">
<span><asp:Literal ID="litSubCategory" runat="server" /></span></asp:HyperLink>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</asp:Panel>
</li>
</ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)
代码背后:
if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem)) …Run Code Online (Sandbox Code Playgroud) if((wort[0] == "A") && (wort[1] == "P") && (wort[2] == "F") && (wort[3] == "E") && (wort[4] == "L") && (wort[5] == "K") && (wort[6] == "U") && (wort[7] == "C") && (wort[8] == "H") && (wort[9] == "E") && (wort[10] == "N")) {
frame.remove(panel);
frame.add(winpanel);
winpanel.add(winmeldung);
winpanel.add(beenden);
frame.validate();
Run Code Online (Sandbox Code Playgroud)
嗨,我这里有一个庞大的项目,所以我只发布一部分内容.我想检查一下,如果确实应该打开一个新的面板.但每次我跑,我都会因为"未知来源"而收到错误.为什么??
编辑:
错误:
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Run Code Online (Sandbox Code Playgroud) 我在布局中使用了四个面板,每个都是全宽.它们可以很好地堆叠在sm和xs视图中.我已经将面板设置为没有样式,当md和lg视图大小可以正常工作时.
如果仅在sm和xs视图中,我如何让它们显示折叠?目前,它们是开放的,但是考虑到一些数据的高度,如果我可以将初始状态折叠,那就更好了.
不能把代码放在这里,因为它充满了其他数据库,js和其他东西,因为我们仍在构建它并且还没有被清理成文件.
我有一个任务是使用C#在Winforms中的一个面板周围移动一个元素(Button,Label ...).
我解决了这个问题,它有效:
private void button1_Click(object sender, EventArgs e)
{
// System.Threading.Thread.Sleep(100 - auto.Geschwindigkeit);
for (int i = 0; i < panel1.Width; i++)
{
label1.Location = new Point(i, label1.Location.Y);
label2.Location = new Point(i, label2.Location.Y);
System.Threading.Thread.Sleep(50);//speed
Application.DoEvents();
}
}
Run Code Online (Sandbox Code Playgroud)
但是有没有另外一种方法可以做到这一点,例如当我想要编程游戏并且我有10个标签(代表一辆驾驶汽车)时,我认为这将超载到使用Threads,因为CPU越来越高?!"System.Threading.Thread.Sleep(50);" 将是一个元素的速度,我想我需要一些更高效的东西?!
谢谢
所以,我正在尝试在WPF中开发应用程序(再次).我希望在我周围有一个漂亮的黑色边框和圆形的corenrs StackPanel.为了做到这一点,我写了:
<Border x:Name="debugPanel" CornerRadius="10" BorderBrush="Black" BorderThickness="2" Grid.Row="5" Grid.Column="6" Grid.RowSpan="2">
<StackPanel Grid.RowSpan="3" Background="#C7C7C7">
<!--contents-->
</StackPanel>
</Border>
Run Code Online (Sandbox Code Playgroud)
但结果很难看:(见下图:
请注意,它甚至可能是添加边框的错误方式,我只是想出了自己.所以,如果你有任何建议和评论,我也很乐意听到.
我正在尝试用Java做一个简单的代码:我有一个名为"Bloc"的类,它创建了块(正方形),在其中我创建了一个随机宽度(largeur),以及一个2 int之间的随机高度(hauteur) ,我创建一个随机数的块(nombreBloc).我还创建了一个ArrayList来放置每个块,看看我剩下多少.
所以,我做了一个名为"insererBlocList"的函数(将块插入到ArrayList中),它创建块的"nombreBloc"(numberBloc)并将其放入ArrayList中.
我有一个图形界面,其中我有一个用于窗口的面板,在其中我有另外两个面板:其中一个是将我创建的每个块放入其中.
这是我的问题,我的函数"insererBlocList"里面有一个"StackOverflowError",这意味着有一个无限循环,但在写完代码路径之后,我看不出我在哪里犯了错误......这里是代码:
集团类:
public class Bloc extends JPanel{
private int hauteur, largeur, nombreBloc;
private boolean premierPassage = true;
private ArrayList<Bloc> listeBlocRestant;
private Random rand = new Random();
public Bloc() {
this.hauteur = 10 + rand.nextInt(50 - 10);
this.largeur = 10 + rand.nextInt(50 - 10);
listeBlocRestant = new ArrayList<Bloc>();
if(premierPassage == true) {
this.nombreBloc = 5 + rand.nextInt(30 - 5);
insererBlocList();
}
}
public ArrayList<Bloc> insererBlocList(){
premierPassage = false;
for(int i=0; i<nombreBloc; i++) {
Bloc bloc = …Run Code Online (Sandbox Code Playgroud)