樓主你好
十多年的大通網(wǎng)站建設(shè)經(jīng)驗(yàn),針對設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營銷推廣的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整大通建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“大通網(wǎng)站設(shè)計(jì)”,“大通網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
你可以簡單說明一下你用的是什么軟件啊,我愿意為你解答你的問題幫助你啊
你的意思是提前下好地圖,可以方便的時(shí)候去看,但是最后不要每次看的時(shí)候都用流量是么。樓主你在詳細(xì)點(diǎn)說明一下,我愿意為你解決你的問題啊。一般有離線導(dǎo)航的就是可以。
樓主你應(yīng)該選擇一個(gè)令你心意的軟件,這樣的話用起來就會(huì)順手很多啊。我以前的工作就是東奔西跑的,總是愛出們,當(dāng)然有些城市我不是很熟系呀,所以我就需要提前查詢大體我要去的地方的方位了,但是我每個(gè)月流量都會(huì)很多讓我很是苦惱啊。后來我的一個(gè)朋友聽了我的苦惱就給我下了一個(gè)騰訊零流量地圖軟件,只要提前下好對應(yīng)城市的地圖,就可以像單機(jī)一樣不花費(fèi)流量的查詢了。樓主希望我的回答能讓你滿意,望采納
BOOL WINAPI EnumChildWindows
(v=vs.85).aspx
找對方主窗口中的子窗口,直到子窗口類為TreeView
然后再用個(gè)CWnd* pOtherTreeWnd = CWnd::Accach(treeView.m_hWnd);
可以用VB調(diào)用一些ASP.NET上現(xiàn)成的類庫啊,很多別人編寫好了的,你拿來調(diào)用就OK了。
至于識別,無非就是一行代碼的事情了
以下是我以前用過的資料,應(yīng)該對你有幫助的.
Menu 菜單控件可以建立水平或垂直方向的菜單。asp:Menu控件非常容易使用與調(diào)整??梢允褂?MenuItem 控件來建立靜態(tài)菜單,或是從 SiteMapDataSource 數(shù)據(jù)源控件建立動(dòng)態(tài)菜單。Menu 菜單控件有80個(gè)公有屬性(包括所有控件都擁有的共同屬性)。Menu控件的常用屬性如表7-4所示。
表7-4 Menu 控件的常用屬性
屬 性 屬 性 描 述
CssClass 允許設(shè)置一個(gè)應(yīng)用到整個(gè)控件的CSS類屬性
StaticDisplayLevels 顯示幾層靜態(tài)菜單,超過就成為動(dòng)態(tài)菜單
Orientation 菜單方向是默認(rèn)垂直 Vertical,或水平 Horizontal
StaticMenuStyle 靜態(tài)菜單的樣式
StaticHoverStyle 當(dāng)鼠標(biāo)移至靜態(tài)菜單的選項(xiàng)上時(shí),顯示的樣式
StaticMenuItemStyle 靜態(tài)菜單的選項(xiàng)樣式
DynamicMenuStyle 動(dòng)態(tài)菜單的樣式
DynamicMenuItemStyle 動(dòng)態(tài)菜單的選項(xiàng)樣式
DynamicHoverStyle 當(dāng)鼠標(biāo)移至動(dòng)態(tài)菜單的選項(xiàng)上時(shí),顯示的樣式
MaximumDynamicDisplayLevels 確定控件能顯示的子菜單項(xiàng)的級數(shù)。
有助于非常大的站點(diǎn)地圖限制發(fā)送給瀏覽器的項(xiàng)數(shù)
Menu控件包含幾個(gè)以Static或Dynamic開頭的特性。Static特性用來控制加載頁面時(shí)出現(xiàn)的主菜單項(xiàng)。因?yàn)榘咽髽?biāo)懸停在它們上面時(shí)它們不會(huì)改變或隱藏,所以認(rèn)為它們是靜態(tài)的。子菜單是動(dòng)態(tài)的,因?yàn)橹挥挟?dāng)激活相關(guān)主菜單項(xiàng)時(shí)它們才會(huì)出現(xiàn)。
1. 靜態(tài)菜單
Menu控件可以使用MenuItem控件定義菜單數(shù)據(jù)來建立靜態(tài)菜單。下面舉例說明在VWD2008中創(chuàng)建靜態(tài)菜單的方法。
【例7-7】利用Menu控件在網(wǎng)頁中添加一個(gè)菜單,實(shí)現(xiàn)自定義導(dǎo)航功能。
(1) 新建一個(gè)Web站點(diǎn)Ex7_7。
(2) 在【解決方案資源管理器】中,添加Web窗體頁P(yáng)rogram.aspx、Csharp.aspx、JAVA.aspx、VB.aspx。
(3) 在Default.aspx中,切換到【設(shè)計(jì)】視圖,向其中添加一個(gè)Menu控件。并設(shè)置其Orientation屬性為Horizontal。
(4) 在Default.aspx中選擇Menu1控件,在【屬性】窗體中找到Items選項(xiàng),單擊其右邊的【…】按鈕打開【菜單項(xiàng)編輯器】對話框,在其中菜單項(xiàng)并設(shè)置其相應(yīng)屬性。如圖7-6所示。
(點(diǎn)擊查看大圖)圖7-6 【菜單項(xiàng)編輯器】對話框
(5) 菜單項(xiàng)設(shè)置完畢,單擊【確定】按鈕。這時(shí)在【源】窗口中可以看到VWD 2008自動(dòng)生成如下代碼:
1. asp:Menu ID="Menu1" runat="server" Font-Italic
="False" ForeColor="Fuchsia"
2. Orientation="Horizontal" StaticDisplayLevels="1"
3. Items
4. asp:MenuItem NavigateUrl="~/Default.aspx"
Text="首頁" Value="首頁"/asp:MenuItem
5. asp:MenuItem NavigateUrl="~/Program.aspx"
Text="程序設(shè)計(jì)語言" Value="程序設(shè)計(jì)語言"/
6. asp:MenuItem NavigateUrl="~/Csharp.aspx"
Text="Visual C#" Value="Visual C#" /
7. asp:MenuItem NavigateUrl="~/VB.aspx"
Text="VB.NET" Value="VB.NET" /asp:MenuItem
8. asp:MenuItem NavigateUrl="~/JAVA.aspx"
Text="JAVA" Value="JAVA"/asp:MenuItem
9. asp:MenuItem Text="新聞" Value="新聞"/asp:MenuItem
10. /Items
11. /asp:Menu
上述 MenuItem 控件標(biāo)記是定義在 Items 區(qū)段,可以定義菜單的選項(xiàng),Text屬性是菜單項(xiàng)名稱,或是使用ImageUrl屬性指定菜單項(xiàng)圖片,NavigateUrl屬性是菜單連接的URL網(wǎng)址。
(6) 切換到Default.aspx中,按Ctrl+F5鍵,在瀏覽器中執(zhí)行程序,查看執(zhí)行結(jié)果。
7.3.3 利用Menu控件實(shí)現(xiàn)自定義導(dǎo)航(2)
2. 從SiteMapDataSource控件獲取菜單數(shù)據(jù)
Menu 控件的菜單數(shù)據(jù)源如果是 SiteMapDataSource 數(shù)據(jù)源控件,在 ASP.NET 程序中需要?jiǎng)?chuàng)建此控件,如下所示:
1. asp:SiteMapDataSource Id="sitemap" Runat="server"/
上述標(biāo)記建立名為 sitemap 的 SiteMapDataSource 數(shù)據(jù)源控件,在Menu控件中是使用 DataSourceID 屬性來指定數(shù)據(jù)源,如下所示。
1. asp:Menu id="Menu1" Runat="Server"
2. StaticDisplayLevels="2" DataSourceID="sitemap"
3. StaticMenuItemStyle-VerticalPadding="3"
4. …
5. DynamicHoverStyle-ForeColor="black"/
【例7-8】演示從SiteMapDataSource控件獲取菜單數(shù)據(jù)方法。
(1) 復(fù)制Web站點(diǎn)Ex7_6,修改其名稱為Ex7_8。
(2) 在VWD 2008中打開Ex7_8。
(3) 在【解決方案資源管理器】雙擊Default.aspx,從【工具箱】的【導(dǎo)航】類別中,拖動(dòng)一個(gè)Menu控件放到DIV標(biāo)記之間。生成的代碼如下所示:
1. asp:Menu ID="Menu1" runat="server" /asp:Menu
(4) 切換到【設(shè)計(jì)】視圖。單擊Menu控件的智能標(biāo)記(灰色右箭頭)打開【Menu任務(wù)】快捷菜單。在【選擇數(shù)據(jù)源】下拉列表中選擇【新建數(shù)據(jù)源】。在出現(xiàn)的【數(shù)據(jù)源配置向?qū)А繉υ捒蛑袉螕簟菊军c(diǎn)地圖】圖標(biāo)。如圖7-7所示。
(5) 單擊【確定】按鈕關(guān)閉對話框。
(6) 當(dāng)返回頁面時(shí),Menu控件現(xiàn)在顯示了頂級元素【主頁】(如圖7-8所示)。這時(shí),可以看到VWD 2008在【源】視圖窗口中自動(dòng)添加了SiteMapDataSource控件,同時(shí)給Menu控件添加了DataSourceID="SiteMapDataSource1"的屬性值。生成的代碼如下所示:
(點(diǎn)擊查看大圖)圖7-7 【數(shù)據(jù)源配置向?qū)А繉υ捒?/p>
(點(diǎn)擊查看大圖)圖7-8 添加了SiteMapDataSource控件后顯示的結(jié)果
1. asp:Menu ID="Menu1" runat="server" DataSourceID="SiteMapDataSource1"
2. /asp:Menu
3. asp:SiteMapDataSource ID="SiteMapDataSource1" runat="server" /
(7) 再單擊一次SiteMapDataSource,然后按F4鍵打開或激活【屬性】窗口。將Show StartingNote屬性的值由True改為False。注意,一旦這樣做后,設(shè)計(jì)器中的Menu控件就會(huì)更新,并顯示根元素下的所有直接子菜單。
(8) 再次單擊Menu控件,然后用【屬性】窗口對控件的屬性作下列修改,如表7-5所示。
表7-5 Menu控件屬性的設(shè)置
特 性 值
StaticEnableDefaultPopOutImage False
Orientation Horizontal
ItemSpacing(需要展開的StaticMenuItemStyle的子特性) 10px
(9) 按Ctrl+F5鍵,在瀏覽器中打開頁面。當(dāng)把鼠標(biāo)放在【計(jì)算機(jī)類】主菜單時(shí),會(huì)自動(dòng)顯示其下拉菜單,選擇【硬件】命令,執(zhí)行結(jié)果如圖7-9所示。
22.3 實(shí)現(xiàn)Menu控件的導(dǎo)航
Menu控件是一個(gè)頁面上使用的菜單。該控件有靜態(tài)模式和動(dòng)態(tài)模式兩種顯示模式,靜態(tài)模式的菜單項(xiàng)始終是完全展開的,在這種模式下,設(shè)置StaticDisplayLevels屬性指定顯示菜單的級別,如果菜單的級別超過了StaticDisplayLevels屬性指定的值,則把超過的級別自動(dòng)設(shè)置為動(dòng)態(tài)模式顯示。動(dòng)態(tài)模式需要響應(yīng)用戶的鼠標(biāo)事件才在父節(jié)點(diǎn)上顯示子菜單項(xiàng),MaximumDynamicDisplayLevels屬性指定動(dòng)態(tài)菜單的顯示級別,如果菜單的級別超過了該屬性指定的值,則不顯示超過的級別。
Menu控件最簡單的用法是在設(shè)計(jì)視圖中使用Items屬性添加MenuItem對象的集合。MenuItem對象有一個(gè)NavigateUrl屬性,如果設(shè)置了該屬性,單擊菜單項(xiàng)后將導(dǎo)航到指定的頁面,可以使用Menu控件的Target屬性指定打開頁的位置,MenuItem對象也有一個(gè)Target屬性,可以單獨(dú)指定打開頁面的位置。如果沒有設(shè)置NavigateUrl屬性,則把頁面提交到服務(wù)器進(jìn)行處理。本示例將演示如何使用Menu控件實(shí)現(xiàn)導(dǎo)航。
技術(shù)要點(diǎn)
使用Menu控件實(shí)現(xiàn)導(dǎo)航的技術(shù)要點(diǎn)如下。
?
MenuItem對象表示菜單的一項(xiàng)通過該對象的屬性可以設(shè)置菜單的內(nèi)容和導(dǎo)航方式。
?
Menu控件的項(xiàng)可以使用設(shè)計(jì)器和編程兩種方法添加。
?
StaticDisplayLevels屬性指定靜態(tài)菜單的顯示級別。
實(shí)現(xiàn)步驟
(1)在VS2008中創(chuàng)建一個(gè)ASP.NET網(wǎng)站,命名為“MenuSample”。
(2)添加一個(gè)頁面,命名為“Menu.aspx”,并把這個(gè)頁設(shè)置為起始頁。
(3)從工具箱選擇Menu控件設(shè)計(jì)頁面,并在窗口的Items屬性中打開編輯菜單項(xiàng)的界面,添加“系統(tǒng)操作”和“幫助”兩個(gè)根菜單項(xiàng),如圖22.3所示。
(點(diǎn)擊查看大圖)圖22.3 添加根菜單項(xiàng)
(4)在首次加載頁面時(shí),用編程的方式,指定Menu控件的一些屬性,并為兩個(gè)根菜單項(xiàng)添加子菜單。代碼如下所示。
%@ Page Language="C#" AutoEventWireup="true" %
script runat="server"
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Menu1.Orientation = Orientation.Horizontal;//設(shè)置菜單水平顯示
this.Menu1.StaticDisplayLevels = 1;//只顯示第一級菜單
this.Menu1.Target = "_blank";//指定在新的窗口打開頁面
MenuItem register = new MenuItem();//定義子菜單
register.Text = "注冊用戶";
register.NavigateUrl = "~/register.aspx";
this.Menu1.Items[0].ChildItems.Add(register);//添加子菜單
MenuItem Login = new MenuItem();
Login.Text = "登錄";
Login.NavigateUrl = "~/Login.aspx";
this.Menu1.Items[0].ChildItems.Add(Login);
MenuItem help = new MenuItem();//定義第二項(xiàng)菜單的子菜單
help.Text = "幫助";
help.NavigateUrl = "~/help.aspx";
this.Menu1.Items[1].ChildItems.Add(help);
MenuItem About = new MenuItem();
About.Text = "關(guān)于";
About.NavigateUrl = "~/About.aspx";
this.Menu1.Items[1].ChildItems.Add(About);
}
}
/script
html xmlns=""
head runat="server"
titleMenu使用示例/title
/head
body
form id="form1" runat="server"
div
asp:Menu ID="Menu1" runat="server"
Items
asp:MenuItem Text="系統(tǒng)操作" Value="系統(tǒng)操作"/asp:MenuItem
asp:MenuItem Text="幫助" Value="幫助"/asp:MenuItem
/Items
/asp:Menu
/div
/form
/body
/html
(5)按Ctrl+F5組合鍵運(yùn)行程序,運(yùn)行結(jié)果如圖22.4所示。
圖22.4 運(yùn)行結(jié)果
源程序解讀
(1)Menu控件的StaticDisplayLevels屬性設(shè)置為1,表示只靜態(tài)顯示根菜單項(xiàng),其子菜單動(dòng)態(tài)顯示。
(2)Target屬性指定單擊菜單項(xiàng)打開新頁面的位置,該屬性的級別低于MenuItem類的Target屬性,當(dāng)兩個(gè)對象同時(shí)指定Target屬性時(shí),MenuItem類的Target屬性優(yōu)先。
(3)MenuItem類的NavigateUrl屬性用于指定URL地址。
、
在.net的導(dǎo)航控件中,我用的最多的是TreeView控件,今天無意間用到了menu控件,感覺挺好的.寫出來當(dāng)作筆記吧!
前臺(tái)代碼:
asp:Menu ID="Menu1" runat="server" BackColor="#FFFBD6" DynamicHorizontalOffset="2"
ForeColor="#990000" Height="187px" Orientation="Horizontal" StaticSubMenuIndent="10px"
Style="font-size: 8pt; font-family: Verdana; display: block; background-position-x: center; background-attachment: scroll; background-image: url(img/Alter.jpg); visibility: visible; color: #ff3399; background-repeat: repeat-x; position: static; background-color: #99ff00; text-align: center;" Font-Names="Verdana" Font-Size="0.8em" Width="594px" OnMenuItemClick="Menu1_MenuItemClick"
StaticMenuItemStyle HorizontalPadding="5px" VerticalPadding="2px" /
DynamicHoverStyle BackColor="#990000" ForeColor="White" /
DynamicMenuStyle BackColor="#FFFBD6" BorderColor="White" BorderStyle="Solid" BorderWidth="1px" /
StaticSelectedStyle BackColor="#FFCC66" /
DynamicSelectedStyle BackColor="#FFCC66" /
StaticHoverStyle BackColor="#990000" ForeColor="White" /
DynamicMenuItemStyle BackColor="#B5C7DE" Font-Names="Verdana" Font-Size="8pt" BorderColor="White" BorderStyle="Solid" BorderWidth="1px" HorizontalPadding="5px" VerticalPadding="2px" /
/asp:Menu
后臺(tái)代碼:
#region 頁面初始化
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
PR.BLL.menu.A_Menu bll = new PR.BLL.menu.A_Menu();
DataSet ds = bll.GetList();
CreateMenu(1, (MenuItem)null, ds);
}
}
#endregion
#region 遞歸生成橫向菜單
public void CreateMenu(int ParentID, MenuItem tempItem, DataSet ds)
{
DataView dvMenu = new DataView(ds.Tables[0]);
//過濾ParentID,得到當(dāng)前菜單的所有子節(jié)點(diǎn)
dvMenu.RowFilter = "[MenuParentId] = " + ParentID;
foreach (DataRowView Row in dvMenu)
{
if (tempItem == null)
{ //添加根節(jié)點(diǎn)
MenuItem Node = new MenuItem();
//節(jié)點(diǎn)的文本
Node.Text = Row["FMenuName"].ToString();
//節(jié)點(diǎn)旁邊的圖片
// Node.ImageUrl = "img/" + Row["MenuImage"].ToString();
//有子菜單時(shí)的圖片
//Node.PopOutImageUrl = "img/02.gif";
this.Menu1.Items.Add(Node);
CreateMenu(Int32.Parse(Row["Fid"].ToString()), Node, ds);//再次遞歸
}
else
{ //添加當(dāng)前節(jié)點(diǎn)的子節(jié)點(diǎn)
MenuItem Node = new MenuItem();
Node.Text = Row["FMenuName"].ToString();
//點(diǎn)擊節(jié)點(diǎn)后的連接地址
Node.NavigateUrl = Row["Url"].ToString();
//Node.ImageUrl = "Image/" + Row["MenuImage"].ToString();
//Node.Target = Row["left"].ToString();
tempItem.ChildItems.Add(Node);
CreateMenu(Int32.Parse(Row["Fid"].ToString()), Node, ds); //再次遞歸
}
}
}
#endregion